<?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/308da52e82d7f7bc2a9f6a5f63633c5567b7af08.xml</link>
    <description>“知其白守其黑，用手中的矛铸心中的盾&#34;,  逆向、安全、加固、风控、分享。&#xA;(wechat feed made by @ttttmr https://wechat2rss.xlab.app)</description>
    <managingEditor> (矛和盾的故事)</managingEditor>
    <image>
      <url>https://wx.qlogo.cn/mmhead/Q3auHgzwzM5Z6V1Eauib6xPXjtUot5NLNa7CSLzibx48EcU7RiaaCK5pw/0</url>
      <title>矛和盾的故事</title>
      <link>https://wechat2rss.xlab.app/feed/308da52e82d7f7bc2a9f6a5f63633c5567b7af08.xml</link>
    </image>
    <item>
      <title>iOS DeviceCheck：苹果设备身份链与黑灰产对抗的攻防博弈</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247484121&amp;idx=1&amp;sn=7edc9a634643c1387094163d87aace78</link>
      <description>DeviceCheck 的核心目标是在保护用户隐私的前提下，为开发者提供一种持久化的设备标记能力。即使 App 被卸载重装，甚至设备被恢复出厂设置，DeviceCheck 存储的 2-bit 状态依然可以被保留。这使得它成为了对抗“新用户薅羊毛”、“设备封禁”等场景的利器。</description>
      <content:encoded><![CDATA[<p>原创 <span>矛和盾的故事</span> <span>2026-01-13 19:00</span> <span style="display: inline-block;">北京</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=8d1d1a77&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FN0ibNguSP6ibVF3rUTMdECvuoW8uaEqpVZ0yLkbOR9KF0n6e28DPt322u3E7ujWuUx6ibSYQ7Glv37F5IcWxswjeA%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>DeviceCheck 的核心目标是在保护用户隐私的前提下，为开发者提供一种持久化的设备标记能力。即使 App 被卸载重装，甚至设备被恢复出厂设置，DeviceCheck 存储的 2-bit 状态依然可以被保留。这使得它成为了对抗“新用户薅羊毛”、“设备封禁”等场景的利器。</p>
  <h2 data-pm-slice="0 0 []"><span leaf="">一、背景 &amp; 场景</span></h2><h3><span leaf="">1.1 环境</span></h3><p><span leaf="">设备型号:iphone 14、iOS 版本:16.4.1、越狱方案:Dopamine</span></p><p><span leaf="">工具链：Frida16.1.4、IDA pro 9.2</span></p><h3><span leaf="">1.2 引言</span></h3><p><span leaf="">对于大多数互联网风控攻防业务来说，真正棘手的往往不是单个请求本身，而是背后那一整套“批量造设备、批量刷行为”的自动化体系。正是在这样的背景下，从最初的简单模拟请求，到如今的设备指纹伪造、群控刷量，攻防对抗从未停止。在这一背景下，Apple 推出的 </span><strong><span leaf="">DeviceCheck</span></strong><span leaf="">（以及后续的 </span><strong><span leaf="">App Attest</span></strong><span leaf="">）成为了 iOS 平台上反作弊与反爬虫的重要防线。</span></p><p><span leaf="">DeviceCheck 的核心目标是</span><strong><span leaf="">在保护用户隐私的前提下，为开发者提供一种持久化的设备标记能力</span></strong><span leaf="">。即使 App 被卸载重装，甚至设备被恢复出厂设置（在某些条件下），DeviceCheck 存储的 2-bit 状态依然可以被保留。这使得它成为了对抗“新用户薅羊毛”、“设备封禁”等场景的利器。</span></p><p><span leaf="">然而，对于安全研究人员和黑灰产从业者而言，DeviceCheck 也是一个必须攻克的堡垒。本文将基于逆向工程视角，简单剖析 DeviceCheck 的底层实现，揭示其加密流程，并探讨在越狱环境下进行攻防对抗的可行性。</span></p><h3><span leaf="">1.3、研究动机与目标</span></h3><ul class="list-paddingleft-1"><li><p><span leaf="">验证通过改机（UniqueChipID / ECID/SerialNumber等）为什么不能激活设备？</span></p></li><li><p><span leaf="">想搞清楚：苹果到底在检验什么？哪些字段是“硬绑定”的？</span></p></li><li><p><span leaf="">从攻击与防护视角学习如何应用好DeviceCheck?</span></p></li></ul><h3><span leaf="">1.4、整体流程与框架</span></h3><p><span leaf="">还是老</span><span leaf="">规矩，先上整体框架图以方便理解整体，</span><span leaf="">激活流程：</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="2.850925925925926" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="100000463" src="https://wechat2rss.xlab.app/img-proxy/?k=b3c0d4e9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FN0ibNguSP6ibVF3rUTMdECvuoW8uaEqpVZvoYasxiaEDOPWsm22B1pqOQEkQawm6BWZxGcEnwicXlkl6sR0AaUWtcQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><ul class="list-paddingleft-1"><li><p><span leaf="">Device Token生成流程</span></p></li></ul><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="3.1574074074074074" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="100000464" src="https://wechat2rss.xlab.app/img-proxy/?k=8349275f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FN0ibNguSP6ibVF3rUTMdECvuoW8uaEqpVZst5gW4KTBTaoBYVFdgia3VsPaxHG2w99ZiaCIT3Uia5xEnTDqhCKhbWnA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h2 data-pm-slice="0 0 []"><span leaf="">二、mobileactivationd</span><strong><span leaf=""> 激活流程分析</span></strong></h2><h3><span leaf="">2.1、</span><strong><span leaf="">什么时候会激活？</span></strong></h3><p><span leaf="">这里说的激活，就是由 </span><strong><span leaf="">mobileactivationd + Apple 服务器</span></strong><span leaf=""> 参与的那种“和苹果聊一聊，我是谁、能不能用”的流程，而不是普通 App 级别的登录。</span></p><h3><strong><span leaf="">首次开箱 / 刷机之后第一次开机</span></strong></h3><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">全新 iPhone、刚刷完原版 IPSW、DFU 恢复之后第一次进开机向导。</span></p></li><li style="text-align:left;"><p><span leaf="">这时候本地没任何“激活凭据”，系统必须：</span></p></li><li style="text-align:left;"><p><span leaf="">收集硬件指纹（ECID、ChipID、BoardId、SerialNumber…）</span></p></li><li style="text-align:left;"><p><span leaf="">跟 Apple 服务器谈一轮，生成 / 刷新 uik.pem / ucrt.pem、设备证书等。</span></p></li><li style="text-align:left;"><p><span leaf="">你能看到的表现就是：</span></p></li></ul><blockquote><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">屏幕上显示  “正在激活 iPhone，需要几分钟”</span></p></li></ul></blockquote><h3><strong><span leaf="">恢复出厂设置 / 抹掉所有内容之后</span></strong></h3><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">在</span><strong><span leaf="">设置 → 通用 → 传输或还原 iPhone → 抹掉所有内容和设置</span></strong><span leaf="">，或者用 Finder/iTunes 恢复。</span></p></li><li style="text-align:left;"><p><span leaf="">抹掉后再次启动，和第一次开箱本质一样，也要重新激活。</span></p></li><li style="text-align:left;"><p><span leaf="">这时 mobileactivationd 会：</span></p></li><li style="text-align:left;"><p><span leaf="">检查旧的激活票据是否还有效</span></p></li><li style="text-align:left;"><p><span leaf="">一般还是会重新向服务器请求新的激活证书（你抓到的 RKCertification 就是这类东西）。</span></p></li></ul><h3><strong><span leaf="">硬件变化比较大时（换本板 / 基带 / 改机）</span></strong></h3><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">主板更换、严重“硬改机”、某些基带相关硬件变化，会导致：</span></p></li><li style="text-align:left;"><p><span leaf="">UniqueChipID（ECID）、ChipID、BoardId、SecurityDomain 组合发生改变。</span></p></li><li style="text-align:left;"><p><span leaf="">Apple 服务器视角：这是“另一台设备”，必须重新审查：</span></p></li><li style="text-align:left;"><p><span leaf="">有没有被报失</span></p></li><li style="text-align:left;"><p><span leaf="">有没有被运营商锁 / 黑名单</span></p></li><li style="text-align:left;"><p><span leaf="">所以一旦检测到这种变化，系统会强制重新走激活流程。</span></p></li><li style="text-align:left;"><p><span leaf="">你的 hook 里如果把 UniqueChipID 换成别的机器的 ECID，就会看到服务器直接回：</span></p></li></ul><blockquote><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">ECC signature verification failed</span></p></li><li style="text-align:left;"><p><span leaf="">说明</span><strong><span leaf="">硬件指纹和之前那套证书对不上</span></strong><span leaf="">，激活不通过。</span></p></li></ul></blockquote><h3><strong><span leaf="">某些大版本升级 / 本地激活证书过期异常</span></strong></h3><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">iOS 大版本升级、系统内部结构变动，有时会触发：</span></p></li><li style="text-align:left;"><p><span leaf="">重签发部分证书</span></p></li><li style="text-align:left;"><p><span leaf="">重新校验激活状态</span></p></li><li style="text-align:left;"><p><span leaf="">如果本地激活缓存损坏（文件坏了、权限错了，或者你乱动 system volume），系统也可能判定无效，要求重新激活。</span></p></li></ul><h3><strong><span leaf="">和运营商 / 区域相关的情况</span></strong></h3><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">有运营商锁（有锁机）、合约机、某些地区政策机型（比如中国/欧盟特定版本），激活时会把：</span></p></li><li style="text-align:left;"><p><span leaf="">运营商信息</span></p></li><li style="text-align:left;"><p><span leaf="">区域/国家代码</span></p></li><li style="text-align:left;"><p><span leaf="">一起发给 Apple，</span></p></li><li style="text-align:left;"><p><span leaf="">服务器会根据政策决定：</span></p></li><li style="text-align:left;"><p><span leaf="">是否允许在当前运营商/区域激活</span></p></li><li style="text-align:left;"><p><span leaf="">是否切换锁状态（从未激活变成“锁到某运营商”）</span></p></li></ul><blockquote><p><span leaf="">小结一句：</span></p><p><strong><span leaf="">只要 Apple 觉得“我有理由重新确认你这台机器的身份/状态”，就会触发 mobileactivationd 跑激活。</span></strong></p></blockquote><h3><span leaf="">2.2、</span><strong><span leaf="">为什么要激活？</span></strong></h3><p><span leaf="">从苹果的角度，这一整套“激活”设计，主要是为了解决三大问题：</span><strong><span leaf="">防伪造、防偷盗、统一发证</span></strong><span leaf="">。DeviceCheck / AppAttest 其实都是站在这套基础设施上实现的。</span></p><h3><strong><span leaf="">确认“这是一台真机，而不是山寨/模拟设备”</span></strong></h3><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">激活时上传的 RKCertification 里，包含：</span></p></li><li style="text-align:left;"><p><span leaf="">从 Secure Enclave 拿到的</span><strong><span leaf="">真·硬件密钥的 attestation</span></strong></p></li><li style="text-align:left;"><p><span leaf="">ECID / ChipID / BoardId / SerialNumber / SecurityDomain 等指纹</span></p></li><li style="text-align:left;"><p><span leaf="">苹果在服务器上用自己的 CA 体系校验证书链：</span></p></li><li style="text-align:left;"><p><span leaf="">证书是不是 Apple 自己签出来的</span></p></li><li style="text-align:left;"><p><span leaf="">硬件签名是不是由安全芯片里那把私钥算出来的</span></p></li><li style="text-align:left;"><p><span leaf="">结论：</span></p></li><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">你光在软件层面“改 MGCopyAnswer 值”是骗不过的；</span></p></li><li style="text-align:left;"><p><span leaf="">没有 SE + 正规证书链，服务器不会把你当成一台合法 iPhone。</span></p></li></ul></ul><h3><strong><span leaf="">防丢失、防盗机、控制设备生命周期</span></strong></h3><p><span leaf="">激活是苹果“设备生命周期管理”的关键环节：</span></p><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">防盗 / 查找我的 iPhone</span></strong><span leaf="">：</span></p></li><li style="text-align:left;"><p><span leaf="">被“查找”绑定过的机器，如果被抹掉再激活，Apple 会要求输入原 Apple ID 才能继续。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">黑名单 / 封禁</span></strong><span leaf="">：</span></p></li><li style="text-align:left;"><p><span leaf="">被判定为重大违规（盗刷、欺诈）的 ECID/序列号，可以在服务器侧直接标记，下一次激活就直接拒绝。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">区域控制</span></strong><span leaf="">：</span></p></li><li style="text-align:left;"><p><span leaf="">比如某些功能/频段只在特定地区开放，也可以通过激活阶段写入策略。</span></p></li></ul><h3 style="text-align:left;"><strong><span leaf="">为上层安全服务“铺路”（你现在在玩的部分）</span></strong></h3><p><span leaf="">激活完成后，mobileactivationd 会产出一套“设备根身份”：</span></p><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">系统组文件：uik.pem / ucrt.pem</span></p></li><li style="text-align:left;"><p><span leaf="">Keychain 里的：</span></p></li><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">2bit-identity-rk</span></p></li><li style="text-align:left;"><p><span leaf="">2bit-identity-leaf / intermediate / combined</span></p></li><li style="text-align:left;"><p><span leaf="">2bit-identity-monotonic-clock / rtc-reset-count / server-timestamp 等</span></p></li></ul><li style="text-align:left;"><p><span leaf="">这些东西后面会被谁用？</span></p></li><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">devicecheckd 生成 DeviceCheck Token</span></p></li><li style="text-align:left;"><p><span leaf="">AppAttest 做应用级 attestation</span></p></li><li style="text-align:left;"><p><span leaf="">各种安全相关 daemon（FairPlay、Apple Pay、Find My…）</span></p></li></ul></ul><h3><span leaf="">2.3、激活流程逆向分析</span></h3><ul class="list-paddingleft-1"><li><p><span leaf="">采集设备信息</span></p></li></ul><p><span leaf="">主要通过copyAnswer:方法采集设备唯一性相关信息</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="javascript"><code><span leaf=""><span class="code-snippet__title">UniqueChipID</span>:    <span class="code-snippet__string">&#34;6871544955xxxxxx&#34;</span>, </span></code><br/><code><span leaf=""><span class="code-snippet__title">ChipID</span>:          <span class="code-snippet__string">&#34;33040&#34;</span>,</span></code><br/><code><span leaf=""><span class="code-snippet__title">BoardId</span>:         <span class="code-snippet__string">&#34;24&#34;</span>,</span></code><br/><code><span leaf=""><span class="code-snippet__title">SecurityDomain</span>:  <span class="code-snippet__string">&#34;1&#34;</span>,</span></code><br/><code><span leaf=""><span class="code-snippet__title">SerialNumber</span>:    <span class="code-snippet__string">&#34;F6X439xxxxxx&#34;</span>,</span></code><br/><code><span leaf=""><span class="code-snippet__title">BuildVersion</span>:    <span class="code-snippet__string">&#34;20E252&#34;</span>,</span></code><br/><code><span leaf=""><span class="code-snippet__title">UniqueDeviceID</span>:  <span class="code-snippet__string">&#34;00008110-303C30C91A0xxxxxx&#34;</span></span></code><br/></pre></p><ul class="list-paddingleft-1"><li><p><span leaf="">代码逻辑</span></p></li></ul><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=""><span class="code-snippet__comment">// 获取设备信息</span></span></code><br/><code><span leaf=""><span class="code-snippet__type">void</span> __fastcall create_baa_info_sub_1000EEDCC(__SecKey *a1, <span class="code-snippet__type">id</span> a2, _QWORD *a3)</span></code><br/><code><span leaf="">{</span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v4; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v5; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v6; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v7; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v8; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v9; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v10; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v11; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSArray</span> *v12; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v13; <span class="code-snippet__comment">// x27</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v14; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v15; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v16; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v17; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v18; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v19; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v20; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v21; <span class="code-snippet__comment">// x27</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v22; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *v23; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *v24; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  __int64 v25; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *i; <span class="code-snippet__comment">// x28</span></span></code><br/><code><span leaf="">  __SecKey *v27; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v28; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v29; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v30; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v31; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v32; <span class="code-snippet__comment">// x27</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v33; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v34; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v35; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  _BOOL4 v36; <span class="code-snippet__comment">// w9</span></span></code><br/><code><span leaf="">  __SecKey *v37; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v38; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  _BOOL4 v39; <span class="code-snippet__comment">// w24</span></span></code><br/><code><span leaf="">  _BOOL4 v40; <span class="code-snippet__comment">// w19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v41; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v42; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v43; <span class="code-snippet__comment">// w1</span></span></code><br/><code><span leaf="">  __SecKey *v44; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v45; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v46; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v47; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v48; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __SecKey *v49; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v50; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v51; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v52; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v53; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v54; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v55; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v56; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  __int64 v57; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v58; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v59; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v60; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v61; <span class="code-snippet__comment">// w22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v62; <span class="code-snippet__comment">// w24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v63; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v64; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v65; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  __SecKey *v66; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v67; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v68; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v69; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v70; <span class="code-snippet__comment">// w28</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v71; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __SecKey *v72; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v73; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v74; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v75; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v76; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v77; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v78; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v79; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v80; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v81; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v82; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v83; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v84; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v85; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v86; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v87; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int8 v88; <span class="code-snippet__comment">// w22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v89; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v90; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v91; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v92; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v93; <span class="code-snippet__comment">// w20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v94; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v95; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v96; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> __CFString *v97; <span class="code-snippet__comment">// x4</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v98; <span class="code-snippet__comment">// w1</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v99; <span class="code-snippet__comment">// w2</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v100; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v101; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v102; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v103; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  __SecKey *v104; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v105; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v106; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v107; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSFileManager</span> *v108; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSFileManager</span> *v109; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v110; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int8 v111; <span class="code-snippet__comment">// w23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v112; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v113; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v114; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v115; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v116; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v117; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v118; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v119; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v120; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v121; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v122; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v123; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v124; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v125; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v126; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v127; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v128; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v129; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v130; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v131; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v132; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __SecKey *v133; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v134; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v135; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v136; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v137; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v138; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __SecKey *v139; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v140; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v141; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v142; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v143; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v144; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v145; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v146; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v147; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v148; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  __SecKey *v149; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v150; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v151; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v152; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v153; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v154; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v155; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v156; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v157; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v158; <span class="code-snippet__comment">// w1</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v159; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v160; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v161; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v162; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v163; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  __SecKey *v164; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __CFString **v165; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v166; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v167; <span class="code-snippet__comment">// x2</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v168; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v169; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v170; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v171; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v172; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v173; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v174; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v175; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v176; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v177; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v178; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v179; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v180; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v181; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v182; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v183; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v184; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v185; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v186; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v187; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v188; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v189; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v190; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v191; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v192; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v193; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v194; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v195; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v196; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v197; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v198; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v199; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v200; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v201; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v202; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v203; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v204; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  __SecKey *v205; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v206; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v207; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v208; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v209; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v210; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v211; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v212; <span class="code-snippet__comment">// w19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v213; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v214; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v215; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v216; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v217; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v218; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v219; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v220; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v221; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v222; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v223; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v224; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v225; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v226; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v227; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v228; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v229; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  __SecKey *v230; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __SecKey *v231; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v232; <span class="code-snippet__comment">// x28</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v233; <span class="code-snippet__comment">// x27</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v234; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v235; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  __SecKey *v236; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v237; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v238; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v239; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __SecKey *v240; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __SecKey *v241; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v242; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSDictionary</span> *v243; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v244; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  __CFString **v245; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v246; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v247; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v248; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v249; <span class="code-snippet__comment">// w23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v250; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v251; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v252; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v253; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v254; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v255; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v256; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v257; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v258; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v259; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> is_darwinos; <span class="code-snippet__comment">// w0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v261; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v262; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v263; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v264; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v265; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v266; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSData</span> *v267; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v268; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v269; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v270; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v271; <span class="code-snippet__comment">// x2</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v272; <span class="code-snippet__comment">// w5</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v273; <span class="code-snippet__comment">// w6</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v274; <span class="code-snippet__comment">// w7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v275; <span class="code-snippet__comment">// [xsp+0h] [xbp-3B0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v276; <span class="code-snippet__comment">// [xsp+0h] [xbp-3B0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v277; <span class="code-snippet__comment">// [xsp+8h] [xbp-3A8h]</span></span></code><br/><code><span leaf="">  __SecKey *v278; <span class="code-snippet__comment">// [xsp+18h] [xbp-398h]</span></span></code><br/><code><span leaf="">  __SecKey *v279; <span class="code-snippet__comment">// [xsp+20h] [xbp-390h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v280; <span class="code-snippet__comment">// [xsp+28h] [xbp-388h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v281; <span class="code-snippet__comment">// [xsp+30h] [xbp-380h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v282; <span class="code-snippet__comment">// [xsp+38h] [xbp-378h]</span></span></code><br/><code><span leaf="">  __SecKey *v283; <span class="code-snippet__comment">// [xsp+40h] [xbp-370h]</span></span></code><br/><code><span leaf="">  __SecKey *v284; <span class="code-snippet__comment">// [xsp+48h] [xbp-368h]</span></span></code><br/><code><span leaf="">  __SecKey *cf; <span class="code-snippet__comment">// [xsp+50h] [xbp-360h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v286; <span class="code-snippet__comment">// [xsp+58h] [xbp-358h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v287; <span class="code-snippet__comment">// [xsp+58h] [xbp-358h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v288[<span class="code-snippet__number">8</span>]; <span class="code-snippet__comment">// [xsp+60h] [xbp-350h]</span></span></code><br/><code><span leaf="">  __SecKey *v289; <span class="code-snippet__comment">// [xsp+68h] [xbp-348h]</span></span></code><br/><code><span leaf="">  __SecKey *v290; <span class="code-snippet__comment">// [xsp+70h] [xbp-340h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v291; <span class="code-snippet__comment">// [xsp+78h] [xbp-338h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v292; <span class="code-snippet__comment">// [xsp+80h] [xbp-330h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v293; <span class="code-snippet__comment">// [xsp+80h] [xbp-330h]</span></span></code><br/><code><span leaf="">  __SecKey *v294; <span class="code-snippet__comment">// [xsp+88h] [xbp-328h]</span></span></code><br/><code><span leaf="">  __SecKey *v295; <span class="code-snippet__comment">// [xsp+88h] [xbp-328h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v296; <span class="code-snippet__comment">// [xsp+90h] [xbp-320h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v297; <span class="code-snippet__comment">// [xsp+98h] [xbp-318h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSData</span> *v298; <span class="code-snippet__comment">// [xsp+98h] [xbp-318h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v299; <span class="code-snippet__comment">// [xsp+A0h] [xbp-310h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v300; <span class="code-snippet__comment">// [xsp+A8h] [xbp-308h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v301; <span class="code-snippet__comment">// [xsp+B0h] [xbp-300h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v302; <span class="code-snippet__comment">// [xsp+B8h] [xbp-2F8h]</span></span></code><br/><code><span leaf="">  _BOOL4 v303; <span class="code-snippet__comment">// [xsp+C0h] [xbp-2F0h]</span></span></code><br/><code><span leaf="">  _BOOL4 v304; <span class="code-snippet__comment">// [xsp+C0h] [xbp-2F0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v305; <span class="code-snippet__comment">// [xsp+C0h] [xbp-2F0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v306; <span class="code-snippet__comment">// [xsp+C8h] [xbp-2E8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v307; <span class="code-snippet__comment">// [xsp+D0h] [xbp-2E0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v308; <span class="code-snippet__comment">// [xsp+D8h] [xbp-2D8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v309; <span class="code-snippet__comment">// [xsp+E0h] [xbp-2D0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v310; <span class="code-snippet__comment">// [xsp+E8h] [xbp-2C8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v311; <span class="code-snippet__comment">// [xsp+F0h] [xbp-2C0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v312; <span class="code-snippet__comment">// [xsp+F8h] [xbp-2B8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v313; <span class="code-snippet__comment">// [xsp+100h] [xbp-2B0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v314; <span class="code-snippet__comment">// [xsp+108h] [xbp-2A8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v315; <span class="code-snippet__comment">// [xsp+110h] [xbp-2A0h]</span></span></code><br/><code><span leaf="">  __SecKey *v316; <span class="code-snippet__comment">// [xsp+118h] [xbp-298h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v317; <span class="code-snippet__comment">// [xsp+118h] [xbp-298h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v318; <span class="code-snippet__comment">// [xsp+120h] [xbp-290h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v319; <span class="code-snippet__comment">// [xsp+128h] [xbp-288h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v320; <span class="code-snippet__comment">// [xsp+130h] [xbp-280h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v321; <span class="code-snippet__comment">// [xsp+138h] [xbp-278h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSNumber</span> *v322; <span class="code-snippet__comment">// [xsp+140h] [xbp-270h]</span></span></code><br/><code><span leaf="">  __SecKey *v323; <span class="code-snippet__comment">// [xsp+148h] [xbp-268h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v324; <span class="code-snippet__comment">// [xsp+148h] [xbp-268h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v325; <span class="code-snippet__comment">// [xsp+148h] [xbp-268h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v327; <span class="code-snippet__comment">// [xsp+158h] [xbp-258h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v328; <span class="code-snippet__comment">// [xsp+160h] [xbp-250h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v329; <span class="code-snippet__comment">// [xsp+168h] [xbp-248h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v330[<span class="code-snippet__number">2</span>]; <span class="code-snippet__comment">// [xsp+170h] [xbp-240h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v331; <span class="code-snippet__comment">// [xsp+180h] [xbp-230h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v332; <span class="code-snippet__comment">// [xsp+188h] [xbp-228h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v333; <span class="code-snippet__comment">// [xsp+190h] [xbp-220h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v334[<span class="code-snippet__number">3</span>]; <span class="code-snippet__comment">// [xsp+198h] [xbp-218h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v335[<span class="code-snippet__number">2</span>]; <span class="code-snippet__comment">// [xsp+1B0h] [xbp-200h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v336[<span class="code-snippet__number">2</span>]; <span class="code-snippet__comment">// [xsp+1C0h] [xbp-1F0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v337[<span class="code-snippet__number">2</span>]; <span class="code-snippet__comment">// [xsp+1D0h] [xbp-1E0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v338[<span class="code-snippet__number">2</span>]; <span class="code-snippet__comment">// [xsp+1E0h] [xbp-1D0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFErrorRef</span> error; <span class="code-snippet__comment">// [xsp+1F0h] [xbp-1C0h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v340[<span class="code-snippet__number">12</span>]; <span class="code-snippet__comment">// [xsp+1F8h] [xbp-1B8h] BYREF</span></span></code><br/><code><span leaf="">  _QWORD v341[<span class="code-snippet__number">12</span>]; <span class="code-snippet__comment">// [xsp+258h] [xbp-158h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v342[<span class="code-snippet__number">8</span>]; <span class="code-snippet__comment">// [xsp+2B8h] [xbp-F8h] BYREF</span></span></code><br/><code><span leaf="">  _QWORD v343[<span class="code-snippet__number">3</span>]; <span class="code-snippet__comment">// [xsp+338h] [xbp-78h] BYREF</span></span></code><br/><code><span leaf="">  __int64 vars8; <span class="code-snippet__comment">// [xsp+3B8h] [xbp+8h]</span></span></code><br/><code><span leaf="">  v4 = objc_retain(a2);</span></code><br/><code><span leaf="">  error = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v5 = objc_retainAutoreleasedReturnValue(+[GestaltHlpr getSharedInstance](&amp;OBJC_CLASS___GestaltHlpr, <span class="code-snippet__string">&#34;getSharedInstance&#34;</span>));</span></code><br/><code><span leaf="">  v6 = objc_msgSend(v5, <span class="code-snippet__string">&#34;copyAnswer:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;s7nuHoZIYNoOHCqT9iyZkQ&#34;</span>));</span></code><br/><code><span leaf="">  objc_release(v5);</span></code><br/><code><span leaf="">  v319 = v6;</span></code><br/><code><span leaf="">  v7 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v6));</span></code><br/><code><span leaf="">  objc_release(v7);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v7 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v322 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">244</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to retrieve %@.&#34;</span>),</span></code><br/><code><span leaf="">                                                    v8,</span></code><br/><code><span leaf="">                                                    v9,</span></code><br/><code><span leaf="">                                                    v10,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;s7nuHoZIYNoOHCqT9iyZkQ&#34;</span>)));</span></code><br/><code><span leaf="">    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v311 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v313 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v308 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v309 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v318 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v321 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_18:</span></code><br/><code><span leaf="">    v320 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v316 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_46:</span></code><br/><code><span leaf="">    v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_47:</span></code><br/><code><span leaf="">    v72 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_180;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v11 = objc_alloc((Class)&amp;OBJC_CLASS___NSMutableArray);</span></code><br/><code><span leaf="">  v343[<span class="code-snippet__number">0</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.4&#34;</span>);</span></code><br/><code><span leaf="">  v343[<span class="code-snippet__number">1</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.5&#34;</span>);</span></code><br/><code><span leaf="">  v343[<span class="code-snippet__number">2</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.7&#34;</span>);</span></code><br/><code><span leaf="">  v12 = objc_retainAutoreleasedReturnValue(+[<span class="code-snippet__built_in">NSArray</span> arrayWithObjects:count:](&amp;OBJC_CLASS___NSArray, <span class="code-snippet__string">&#34;arrayWithObjects:count:&#34;</span>, v343, <span class="code-snippet__number">3</span>));</span></code><br/><code><span leaf="">  v13 = objc_msgSend(v11, <span class="code-snippet__string">&#34;initWithArray:&#34;</span>, v12);</span></code><br/><code><span leaf="">  objc_release(v12);</span></code><br/><code><span leaf="">  v14 = objc_retainAutoreleasedReturnValue(+[<span class="code-snippet__built_in">NSNumber</span> numberWithUnsignedInt:](&amp;OBJC_CLASS___NSNumber, <span class="code-snippet__string">&#34;numberWithUnsignedInt:&#34;</span>, <span class="code-snippet__number">0</span>));</span></code><br/><code><span leaf="">  v322 = v14;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v4 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v297 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v320 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v311 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v40 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">    v41 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CB8;</span></code><br/><code><span leaf="">    v308 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CB8;</span></code><br/><code><span leaf="">    v309 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CA0;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_20;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v18 = v14;</span></code><br/><code><span leaf="">  v323 = a1;</span></code><br/><code><span leaf="">  v19 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">  v20 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass());</span></code><br/><code><span leaf="">  objc_release(v20);</span></code><br/><code><span leaf="">  objc_release(v19);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v20 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v321 = v13;</span></code><br/><code><span leaf="">    *(_OWORD *)v337 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">    *(_OWORD *)v338 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">    *(_OWORD *)v335 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">    *(_OWORD *)v336 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">    v21 = v4;</span></code><br/><code><span leaf="">    v22 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    v23 = (<span class="code-snippet__type">char</span> *)objc_msgSend(v22, <span class="code-snippet__string">&#34;countByEnumeratingWithState:objects:count:&#34;</span>, v335, v342, <span class="code-snippet__number">16</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v23 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v24 = v23;</span></code><br/><code><span leaf="">      v25 = *(_QWORD *)v336[<span class="code-snippet__number">0</span>];</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">while</span> ( <span class="code-snippet__number">2</span> )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">for</span> ( i = <span class="code-snippet__number">0</span>; i != v24; ++i )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">if</span> ( *(_QWORD *)v336[<span class="code-snippet__number">0</span>] != v25 )</span></code><br/><code><span leaf="">            objc_enumerationMutation(v22);</span></code><br/><code><span leaf="">          v27 = (__SecKey *)objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_1(*((_QWORD *)v335[<span class="code-snippet__number">1</span>] + (_QWORD)i)));</span></code><br/><code><span leaf="">          objc_release(v27);</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">if</span> ( !v27 )</span></code><br/><code><span leaf="">          {</span></code><br/><code><span leaf="">            v4 = v21;</span></code><br/><code><span leaf="">            v277 = objc_retainAutoreleasedReturnValue(objc_msgSend(v21, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">            v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                            (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                            <span class="code-snippet__number">263</span>,</span></code><br/><code><span leaf="">                                                            <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                            <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                            (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid options (%@): %@&#34;</span>),</span></code><br/><code><span leaf="">                                                            v76,</span></code><br/><code><span leaf="">                                                            v77,</span></code><br/><code><span leaf="">                                                            v78,</span></code><br/><code><span leaf="">                                                            (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">            objc_release(v277);</span></code><br/><code><span leaf="">            objc_release(v22);</span></code><br/><code><span leaf="">            v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v311 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v318 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">goto</span> LABEL_93;</span></code><br/><code><span leaf="">          }</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        v24 = (<span class="code-snippet__type">char</span> *)objc_msgSend(v22, <span class="code-snippet__string">&#34;countByEnumeratingWithState:objects:count:&#34;</span>, v335, v342, <span class="code-snippet__number">16</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( v24 )</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">continue</span>;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    objc_release(v22);</span></code><br/><code><span leaf="">    v4 = v21;</span></code><br/><code><span leaf="">    v13 = objc_retainAutoreleasedReturnValue(objc_msgSend(v21, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v321);</span></code><br/><code><span leaf="">    v18 = v322;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v321 = v13;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.1&#34;</span>))</span></code><br/><code><span leaf="">    &amp;&amp; ((sub_100C87320() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> || (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)sub_100C87330()) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">276</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Boot manifest not available in rOS or diagnosticsOS.&#34;</span>),</span></code><br/><code><span leaf="">                                                    v28,</span></code><br/><code><span leaf="">                                                    v29,</span></code><br/><code><span leaf="">                                                    v30,</span></code><br/><code><span leaf="">                                                    v275));</span></code><br/><code><span leaf="">    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v311 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v318 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_92;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v304 = ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.1&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">      || ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.7&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">      || ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.10.1&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">      || ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.10.2&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">      || (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.10.3&#34;</span>));</span></code><br/><code><span leaf="">  v70 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.7&#34;</span>));</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.2&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">    || (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.11.1&#34;</span>)) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v71 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;nonce&#34;</span>)));</span></code><br/><code><span leaf="">    v72 = (__SecKey *)objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_2());</span></code><br/><code><span leaf="">    objc_release(v72);</span></code><br/><code><span leaf="">    objc_release(v71);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v72 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">295</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing required option: %@&#34;</span>),</span></code><br/><code><span leaf="">                                                      v73,</span></code><br/><code><span leaf="">                                                      v74,</span></code><br/><code><span leaf="">                                                      v75,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;nonce&#34;</span>)));</span></code><br/><code><span leaf="">      v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v316 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v311 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v318 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v7 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v320 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_96:</span></code><br/><code><span leaf="">      v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v313 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CB8;</span></code><br/><code><span leaf="">      v308 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CB8;</span></code><br/><code><span leaf="">      v309 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CA0;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_180;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v318 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;nonce&#34;</span>)));</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v318 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v83 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;CertType&#34;</span>)));</span></code><br/><code><span leaf="">  v84 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v83));</span></code><br/><code><span leaf="">  objc_release(v84);</span></code><br/><code><span leaf="">  objc_release(v83);</span></code><br/><code><span leaf="">  v293 = v4;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v84 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v85 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;CertType&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v18);</span></code><br/><code><span leaf="">    v86 = objc_retainAutoreleasedReturnValue(+[<span class="code-snippet__built_in">NSNumber</span> numberWithUnsignedInt:](&amp;OBJC_CLASS___NSNumber, <span class="code-snippet__string">&#34;numberWithUnsignedInt:&#34;</span>, <span class="code-snippet__number">0</span>));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( -[<span class="code-snippet__built_in">NSNumber</span> isEqualToNumber:](v85, <span class="code-snippet__string">&#34;isEqualToNumber:&#34;</span>, v86) )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      objc_release(v86);</span></code><br/><code><span leaf="">      v18 = v85;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v87 = objc_retainAutoreleasedReturnValue(+[<span class="code-snippet__built_in">NSNumber</span> numberWithUnsignedInt:](&amp;OBJC_CLASS___NSNumber, <span class="code-snippet__string">&#34;numberWithUnsignedInt:&#34;</span>, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">      v88 = -[<span class="code-snippet__built_in">NSNumber</span> isEqualToNumber:](v85, <span class="code-snippet__string">&#34;isEqualToNumber:&#34;</span>, v87);</span></code><br/><code><span leaf="">      objc_release(v87);</span></code><br/><code><span leaf="">      objc_release(v86);</span></code><br/><code><span leaf="">      v18 = v85;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( (v88 &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                        (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                        <span class="code-snippet__number">306</span>,</span></code><br/><code><span leaf="">                                                        <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                        <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                        (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid value for option (%@): %@&#34;</span>),</span></code><br/><code><span leaf="">                                                        v89,</span></code><br/><code><span leaf="">                                                        v90,</span></code><br/><code><span leaf="">                                                        v91,</span></code><br/><code><span leaf="">                                                        (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;CertType&#34;</span>)));</span></code><br/><code><span leaf="">        v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v316 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v311 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v7 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v320 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v72 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v322 = v85;</span></code><br/><code><span leaf="">        v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v313 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CB8;</span></code><br/><code><span leaf="">        v308 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CB8;</span></code><br/><code><span leaf="">        v309 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CA0;</span></code><br/><code><span leaf="">        v4 = v293;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_180;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v92 = objc_retainAutoreleasedReturnValue(+[<span class="code-snippet__built_in">NSNumber</span> numberWithUnsignedInt:](&amp;OBJC_CLASS___NSNumber, <span class="code-snippet__string">&#34;numberWithUnsignedInt:&#34;</span>, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">  v93 = -[<span class="code-snippet__built_in">NSNumber</span> isEqualToNumber:](v18, <span class="code-snippet__string">&#34;isEqualToNumber:&#34;</span>, v92);</span></code><br/><code><span leaf="">  objc_release(v92);</span></code><br/><code><span leaf="">  v322 = v18;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v93 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v4 = v293;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v319, <span class="code-snippet__string">&#34;boolValue&#34;</span>) &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v97 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Certificate type not supported on this platform: %@&#34;</span>);</span></code><br/><code><span leaf="">      v276 = (<span class="code-snippet__type">char</span>)v18;</span></code><br/><code><span leaf="">      v98 = <span class="code-snippet__number">313</span>;</span></code><br/><code><span leaf="">      v99 = <span class="code-snippet__number">-3</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_89;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.6.71.1&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v97 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing required OID for certificate type (%@): %@&#34;</span>);</span></code><br/><code><span leaf="">      v276 = (<span class="code-snippet__type">char</span>)v18;</span></code><br/><code><span leaf="">      v98 = <span class="code-snippet__number">318</span>;</span></code><br/><code><span leaf="">LABEL_66:</span></code><br/><code><span leaf="">      v99 = <span class="code-snippet__number">-2</span>;</span></code><br/><code><span leaf="">LABEL_89:</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      v98,</span></code><br/><code><span leaf="">                                                      v99,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)v97,</span></code><br/><code><span leaf="">                                                      v94,</span></code><br/><code><span leaf="">                                                      v95,</span></code><br/><code><span leaf="">                                                      v96,</span></code><br/><code><span leaf="">                                                      v276));</span></code><br/><code><span leaf="">LABEL_90:</span></code><br/><code><span leaf="">      v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v311 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_91:</span></code><br/><code><span leaf="">      v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_92:</span></code><br/><code><span leaf="">      v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_93:</span></code><br/><code><span leaf="">      a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_94;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v4 = v293;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.6.71.1&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">      || ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.6.71.2&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">      || (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.6.71.3&#34;</span>)) )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v97 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid OID(s) for requested certificate type: %@&#34;</span>);</span></code><br/><code><span leaf="">      v276 = (<span class="code-snippet__type">char</span>)v18;</span></code><br/><code><span leaf="">      v98 = <span class="code-snippet__number">325</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_66;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.6.71.1&#34;</span>))</span></code><br/><code><span leaf="">    &amp;&amp; (v168 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiProperties&#34;</span>))),</span></code><br/><code><span leaf="">        v169 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_2()),</span></code><br/><code><span leaf="">        objc_release(v169),</span></code><br/><code><span leaf="">        objc_release(v168),</span></code><br/><code><span leaf="">        v169) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v170 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiProperties&#34;</span>)));</span></code><br/><code><span leaf="">    v171 = objc_msgSend(v170, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v170);</span></code><br/><code><span leaf="">    v172 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiProperties&#34;</span>)));</span></code><br/><code><span leaf="">    v173 = v172;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v171 != (<span class="code-snippet__type">void</span> *)<span class="code-snippet__number">32</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      objc_msgSend(v172, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">333</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid value for option (%@): unexpected size (%lu)&#34;</span>),</span></code><br/><code><span leaf="">                                                      v174,</span></code><br/><code><span leaf="">                                                      v175,</span></code><br/><code><span leaf="">                                                      v176,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiProperties&#34;</span>)));</span></code><br/><code><span leaf="">      objc_release(v173);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_90;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v173 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v311 = v173;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.6.71.2&#34;</span>)) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v177 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiPPUID&#34;</span>)));</span></code><br/><code><span leaf="">    v44 = (__SecKey *)objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_1(v177));</span></code><br/><code><span leaf="">    objc_release(v44);</span></code><br/><code><span leaf="">    objc_release(v177);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v44 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">343</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing required option: %@&#34;</span>),</span></code><br/><code><span leaf="">                                                      v178,</span></code><br/><code><span leaf="">                                                      v179,</span></code><br/><code><span leaf="">                                                      v180,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiPPUID&#34;</span>)));</span></code><br/><code><span leaf="">      v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_135:</span></code><br/><code><span leaf="">      v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v7 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v320 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v316 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_95;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v181 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiPPUID&#34;</span>)));</span></code><br/><code><span leaf="">    v182 = objc_msgSend(v181, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v181);</span></code><br/><code><span leaf="">    v183 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiPPUID&#34;</span>)));</span></code><br/><code><span leaf="">    v184 = v183;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__type">unsigned</span> __int64)v182 &gt;= <span class="code-snippet__number">0x25</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      objc_msgSend(v183, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">348</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid value for option (%@): unexpected size (%lu)&#34;</span>),</span></code><br/><code><span leaf="">                                                      v185,</span></code><br/><code><span leaf="">                                                      v186,</span></code><br/><code><span leaf="">                                                      v187,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiPPUID&#34;</span>)));</span></code><br/><code><span leaf="">      objc_release(v184);</span></code><br/><code><span leaf="">      v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_91;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v35 = objc_retainAutoreleasedReturnValue(objc_msgSend(v183, <span class="code-snippet__string">&#34;stringByPaddingToLength:withString:startingAtIndex:&#34;</span>, <span class="code-snippet__number">36</span>, &amp;stru_100E61E50, <span class="code-snippet__number">0</span>));</span></code><br/><code><span leaf="">    objc_release(v184);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v35 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">357</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to pad string.&#34;</span>),</span></code><br/><code><span leaf="">                                                      v199,</span></code><br/><code><span leaf="">                                                      v200,</span></code><br/><code><span leaf="">                                                      v201,</span></code><br/><code><span leaf="">                                                      v275));</span></code><br/><code><span leaf="">      v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v300 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_94:</span></code><br/><code><span leaf="">      v7 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v320 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v316 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_95:</span></code><br/><code><span leaf="">      v72 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_96;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v315 = objc_retainAutoreleasedReturnValue(objc_msgSend(v35, <span class="code-snippet__string">&#34;dataUsingEncoding:&#34;</span>, <span class="code-snippet__number">4</span>));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v315 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v300 = v35;</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">363</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to convert string to data.&#34;</span>),</span></code><br/><code><span leaf="">                                                      v202,</span></code><br/><code><span leaf="">                                                      v203,</span></code><br/><code><span leaf="">                                                      v204,</span></code><br/><code><span leaf="">                                                      v275));</span></code><br/><code><span leaf="">      v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_91;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v315 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v300 = v35;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !(<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v13, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.6.71.3&#34;</span>)) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_137;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v188 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiData&#34;</span>)));</span></code><br/><code><span leaf="">  v44 = (__SecKey *)objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_2());</span></code><br/><code><span leaf="">  objc_release(v44);</span></code><br/><code><span leaf="">  objc_release(v188);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v44 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">370</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing required option: %@&#34;</span>),</span></code><br/><code><span leaf="">                                                    v189,</span></code><br/><code><span leaf="">                                                    v190,</span></code><br/><code><span leaf="">                                                    v191,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiData&#34;</span>)));</span></code><br/><code><span leaf="">    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_135;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v192 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiData&#34;</span>)));</span></code><br/><code><span leaf="">  v193 = objc_msgSend(v192, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">  objc_release(v192);</span></code><br/><code><span leaf="">  v194 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiData&#34;</span>)));</span></code><br/><code><span leaf="">  v195 = v194;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__type">unsigned</span> __int64)v193 &gt;= <span class="code-snippet__number">0x4B0</span> )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    objc_msgSend(v194, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">375</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid value for option (%@): unexpected size (%lu)&#34;</span>),</span></code><br/><code><span leaf="">                                                    v196,</span></code><br/><code><span leaf="">                                                    v197,</span></code><br/><code><span leaf="">                                                    v198,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiData&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v195);</span></code><br/><code><span leaf="">    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v306 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_91;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v306 = v194;</span></code><br/><code><span leaf="">LABEL_137:</span></code><br/><code><span leaf="">  v206 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UseRKSigningInterface&#34;</span>)));</span></code><br/><code><span leaf="">  v207 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v206));</span></code><br/><code><span leaf="">  objc_release(v207);</span></code><br/><code><span leaf="">  objc_release(v206);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v207 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v208 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UseRKSigningInterface&#34;</span>)));</span></code><br/><code><span leaf="">    v317 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v208, <span class="code-snippet__string">&#34;boolValue&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v208);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v317 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v209 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UseSoftwareGeneratedKey&#34;</span>)));</span></code><br/><code><span leaf="">  v210 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v209));</span></code><br/><code><span leaf="">  objc_release(v210);</span></code><br/><code><span leaf="">  objc_release(v209);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v210 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v211 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UseSoftwareGeneratedKey&#34;</span>)));</span></code><br/><code><span leaf="">    v212 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v211, <span class="code-snippet__string">&#34;boolValue&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v211);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v212 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v213 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Validity&#34;</span>)));</span></code><br/><code><span leaf="">  v214 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v213));</span></code><br/><code><span leaf="">  objc_release(v214);</span></code><br/><code><span leaf="">  objc_release(v213);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v214 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v215 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Validity&#34;</span>)));</span></code><br/><code><span leaf="">    v309 = objc_retainAutoreleasedReturnValue(</span></code><br/><code><span leaf="">             +[<span class="code-snippet__built_in">NSNumber</span> numberWithUnsignedInteger:](</span></code><br/><code><span leaf="">               &amp;OBJC_CLASS___NSNumber,</span></code><br/><code><span leaf="">               <span class="code-snippet__string">&#34;numberWithUnsignedInteger:&#34;</span>,</span></code><br/><code><span leaf="">               objc_msgSend(v215, <span class="code-snippet__string">&#34;unsignedIntegerValue&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v215);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v309 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CA0;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v216 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;CACert&#34;</span>)));</span></code><br/><code><span leaf="">  v217 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v216));</span></code><br/><code><span leaf="">  objc_release(v217);</span></code><br/><code><span leaf="">  objc_release(v216);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v217 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v218 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;CACert&#34;</span>)));</span></code><br/><code><span leaf="">    v308 = objc_retainAutoreleasedReturnValue(</span></code><br/><code><span leaf="">             +[<span class="code-snippet__built_in">NSNumber</span> numberWithUnsignedInteger:](</span></code><br/><code><span leaf="">               &amp;OBJC_CLASS___NSNumber,</span></code><br/><code><span leaf="">               <span class="code-snippet__string">&#34;numberWithUnsignedInteger:&#34;</span>,</span></code><br/><code><span leaf="">               objc_msgSend(v218, <span class="code-snippet__string">&#34;unsignedIntegerValue&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v218);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v308 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CB8;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v219 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;scrtAttestation&#34;</span>)));</span></code><br/><code><span leaf="">  v220 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v219));</span></code><br/><code><span leaf="">  objc_release(v220);</span></code><br/><code><span leaf="">  objc_release(v219);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v220 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v221 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;scrtAttestation&#34;</span>)));</span></code><br/><code><span leaf="">    v41 = objc_retainAutoreleasedReturnValue(</span></code><br/><code><span leaf="">            +[<span class="code-snippet__built_in">NSNumber</span> numberWithUnsignedInteger:](</span></code><br/><code><span leaf="">              &amp;OBJC_CLASS___NSNumber,</span></code><br/><code><span leaf="">              <span class="code-snippet__string">&#34;numberWithUnsignedInteger:&#34;</span>,</span></code><br/><code><span leaf="">              objc_msgSend(v221, <span class="code-snippet__string">&#34;unsignedIntegerValue&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v221);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v41 = (<span class="code-snippet__built_in">NSNumber</span> *)&amp;off_100E66CB8;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v222 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationData&#34;</span>)));</span></code><br/><code><span leaf="">  v223 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_2());</span></code><br/><code><span leaf="">  objc_release(v223);</span></code><br/><code><span leaf="">  objc_release(v222);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v223 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v320 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_156;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v224 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationPublicKey&#34;</span>)));</span></code><br/><code><span leaf="">  v27 = (__SecKey *)objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_2());</span></code><br/><code><span leaf="">  objc_release(v27);</span></code><br/><code><span leaf="">  objc_release(v224);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v27 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v313 = v41;</span></code><br/><code><span leaf="">    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">412</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing required option for %@.&#34;</span>),</span></code><br/><code><span leaf="">                                                    v225,</span></code><br/><code><span leaf="">                                                    v226,</span></code><br/><code><span leaf="">                                                    v227,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationPublicKey&#34;</span>)));</span></code><br/><code><span leaf="">    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v7 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_18;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v37 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationData&#34;</span>)));</span></code><br/><code><span leaf="">  v320 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationPublicKey&#34;</span>)));</span></code><br/><code><span leaf="">LABEL_156:</span></code><br/><code><span leaf="">  v297 = v70;</span></code><br/><code><span leaf="">  v228 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AppID&#34;</span>)));</span></code><br/><code><span leaf="">  v229 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_1(v228));</span></code><br/><code><span leaf="">  objc_release(v229);</span></code><br/><code><span leaf="">  objc_release(v228);</span></code><br/><code><span leaf="">  v39 = v317 != <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v40 = v212 != <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v229 )</span></code><br/><code><span leaf="">    v310 = objc_retainAutoreleasedReturnValue(objc_msgSend(v4, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AppID&#34;</span>)));</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    v310 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v38 = v318;</span></code><br/><code><span leaf="">  a1 = v323;</span></code><br/><code><span leaf="">  v36 = v304;</span></code><br/><code><span leaf="">LABEL_20:</span></code><br/><code><span leaf="">  v321 = v13;</span></code><br/><code><span leaf="">  v318 = v38;</span></code><br/><code><span leaf="">  v313 = v41;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !a1 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v316 = v37;</span></code><br/><code><span leaf="">    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">467</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid input.&#34;</span>),</span></code><br/><code><span leaf="">                                                    v15,</span></code><br/><code><span leaf="">                                                    v16,</span></code><br/><code><span leaf="">                                                    v17,</span></code><br/><code><span leaf="">                                                    v275));</span></code><br/><code><span leaf="">    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_45:</span></code><br/><code><span leaf="">    v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v7 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_46;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v42 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v303 = v36;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v39 || v37 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v291 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v289 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v294 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_49:</span></code><br/><code><span leaf="">    v316 = v37;</span></code><br/><code><span leaf="">    v333 = v42;</span></code><br/><code><span leaf="">    v334[<span class="code-snippet__number">0</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v27 = security_copy_system_key(<span class="code-snippet__number">0</span>, v334, &amp;v333);</span></code><br/><code><span leaf="">    v7 = objc_retain(v334[<span class="code-snippet__number">0</span>]);</span></code><br/><code><span leaf="">    v79 = objc_retain(v333);</span></code><br/><code><span leaf="">    objc_release(v42);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v27 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">519</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                      error,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to copy SIK attestation key.&#34;</span>),</span></code><br/><code><span leaf="">                                                      v80,</span></code><br/><code><span leaf="">                                                      v81,</span></code><br/><code><span leaf="">                                                      v82,</span></code><br/><code><span leaf="">                                                      v275));</span></code><br/><code><span leaf="">      objc_release(v79);</span></code><br/><code><span leaf="">      v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v72 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v290 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_173;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    *(_QWORD *)v288 = v7;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( -[<span class="code-snippet__built_in">NSNumber</span> boolValue](v41, <span class="code-snippet__string">&#34;boolValue&#34;</span>) )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v292 = v4;</span></code><br/><code><span leaf="">      v286 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v284 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v331 = v79;</span></code><br/><code><span leaf="">      v332 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v72 = security_copy_system_key(<span class="code-snippet__number">2</span>, &amp;v332, &amp;v331);</span></code><br/><code><span leaf="">      v286 = objc_retain(v332);</span></code><br/><code><span leaf="">      v100 = objc_retain(v331);</span></code><br/><code><span leaf="">      objc_release(v79);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( !v72 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                        (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                        <span class="code-snippet__number">528</span>,</span></code><br/><code><span leaf="">                                                        <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                        v100,</span></code><br/><code><span leaf="">                                                        (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to copy UIK attestation key.&#34;</span>),</span></code><br/><code><span leaf="">                                                        v101,</span></code><br/><code><span leaf="">                                                        v102,</span></code><br/><code><span leaf="">                                                        v103,</span></code><br/><code><span leaf="">                                                        v275));</span></code><br/><code><span leaf="">        objc_release(v100);</span></code><br/><code><span leaf="">        <span class="code-snippet__built_in">CFRelease</span>(v27);</span></code><br/><code><span leaf="">        v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v290 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v35 = v286;</span></code><br/><code><span leaf="">        v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_173;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      v284 = v72;</span></code><br/><code><span leaf="">      v292 = v4;</span></code><br/><code><span leaf="">      v79 = v100;</span></code><br/><code><span leaf="">      v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    cf = v27;</span></code><br/><code><span leaf="">    v104 = (__SecKey *)objc_alloc_init((Class)&amp;OBJC_CLASS___NSMutableDictionary);</span></code><br/><code><span leaf="">    v72 = v104;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v104 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">536</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to allocate dictionary.&#34;</span>),</span></code><br/><code><span leaf="">                                                      v105,</span></code><br/><code><span leaf="">                                                      v106,</span></code><br/><code><span leaf="">                                                      v107,</span></code><br/><code><span leaf="">                                                      v275));</span></code><br/><code><span leaf="">      objc_release(v79);</span></code><br/><code><span leaf="">      v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v290 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v4 = v292;</span></code><br/><code><span leaf="">      v35 = v286;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_171;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v283 = v104;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( -[<span class="code-snippet__built_in">NSNumber</span> boolValue](v41, <span class="code-snippet__string">&#34;boolValue&#34;</span>)</span></code><br/><code><span leaf="">      || (v108 = objc_retainAutoreleasedReturnValue(+[<span class="code-snippet__built_in">NSFileManager</span> defaultManager](&amp;OBJC_CLASS___NSFileManager, <span class="code-snippet__string">&#34;defaultManager&#34;</span>)),</span></code><br/><code><span leaf="">          v109 = objc_retainAutoreleasedReturnValue(objc_retainAutoreleaseReturnValue(v108)),</span></code><br/><code><span leaf="">          v110 = objc_retainAutoreleasedReturnValue(</span></code><br/><code><span leaf="">                   -[<span class="code-snippet__built_in">NSFileManager</span> stringByAppendingPathComponent:](</span></code><br/><code><span leaf="">                     v109,</span></code><br/><code><span leaf="">                     <span class="code-snippet__string">&#34;stringByAppendingPathComponent:&#34;</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ucrt.pem&#34;</span>))),</span></code><br/><code><span leaf="">          v111 = -[<span class="code-snippet__built_in">NSFileManager</span> fileExistsAtPath:](v108, <span class="code-snippet__string">&#34;fileExistsAtPath:&#34;</span>, v110),</span></code><br/><code><span leaf="">          objc_release(v110),</span></code><br/><code><span leaf="">          objc_release(v109),</span></code><br/><code><span leaf="">          objc_release(v108),</span></code><br/><code><span leaf="">          (v111 &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span>) )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v115 = objc_retainAutoreleasedReturnValue(+[GestaltHlpr getSharedInstance](&amp;OBJC_CLASS___GestaltHlpr, <span class="code-snippet__string">&#34;getSharedInstance&#34;</span>));</span></code><br/><code><span leaf="">      v34 = objc_msgSend(v115, <span class="code-snippet__string">&#34;copyAnswer:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UniqueChipID&#34;</span>));</span></code><br/><code><span leaf="">      objc_release(v115);</span></code><br/><code><span leaf="">      v116 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v34));</span></code><br/><code><span leaf="">      objc_release(v116);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( v116 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v281 = v34;</span></code><br/><code><span leaf="">        v120 = objc_retainAutoreleasedReturnValue(+[GestaltHlpr getSharedInstance](&amp;OBJC_CLASS___GestaltHlpr, <span class="code-snippet__string">&#34;getSharedInstance&#34;</span>));</span></code><br/><code><span leaf="">        v121 = objc_msgSend(v120, <span class="code-snippet__string">&#34;copyAnswer:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ChipID&#34;</span>));</span></code><br/><code><span leaf="">        objc_release(v120);</span></code><br/><code><span leaf="">        v282 = v121;</span></code><br/><code><span leaf="">        v122 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v121));</span></code><br/><code><span leaf="">        objc_release(v122);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( !v122 )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">588</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to retrieve %@.&#34;</span>),</span></code><br/><code><span leaf="">                                                          v123,</span></code><br/><code><span leaf="">                                                          v124,</span></code><br/><code><span leaf="">                                                          v125,</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ChipID&#34;</span>)));</span></code><br/><code><span leaf="">          objc_release(v79);</span></code><br/><code><span leaf="">          v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v290 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v4 = v292;</span></code><br/><code><span leaf="">          v35 = v286;</span></code><br/><code><span leaf="">          v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">          v33 = v282;</span></code><br/><code><span leaf="">          v72 = v283;</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">goto</span> LABEL_171;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        v126 = objc_retainAutoreleasedReturnValue(+[GestaltHlpr getSharedInstance](&amp;OBJC_CLASS___GestaltHlpr, <span class="code-snippet__string">&#34;getSharedInstance&#34;</span>));</span></code><br/><code><span leaf="">        v127 = objc_msgSend(v126, <span class="code-snippet__string">&#34;copyAnswer:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;BoardId&#34;</span>));</span></code><br/><code><span leaf="">        objc_release(v126);</span></code><br/><code><span leaf="">        v280 = v127;</span></code><br/><code><span leaf="">        v128 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v127));</span></code><br/><code><span leaf="">        objc_release(v128);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( !v128 )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">594</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to retrieve %@.&#34;</span>),</span></code><br/><code><span leaf="">                                                          v129,</span></code><br/><code><span leaf="">                                                          v130,</span></code><br/><code><span leaf="">                                                          v131,</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;BoardId&#34;</span>)));</span></code><br/><code><span leaf="">          objc_release(v79);</span></code><br/><code><span leaf="">          v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v290 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v4 = v292;</span></code><br/><code><span leaf="">          v35 = v286;</span></code><br/><code><span leaf="">          v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">          v33 = v282;</span></code><br/><code><span leaf="">          v72 = v283;</span></code><br/><code><span leaf="">          v32 = v280;</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">goto</span> LABEL_171;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        v132 = objc_retainAutoreleasedReturnValue(+[GestaltHlpr getSharedInstance](&amp;OBJC_CLASS___GestaltHlpr, <span class="code-snippet__string">&#34;getSharedInstance&#34;</span>));</span></code><br/><code><span leaf="">        v133 = (__SecKey *)objc_msgSend(v132, <span class="code-snippet__string">&#34;copyAnswer:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;SecurityDomain&#34;</span>));</span></code><br/><code><span leaf="">        objc_release(v132);</span></code><br/><code><span leaf="">        v279 = v133;</span></code><br/><code><span leaf="">        v134 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_0(v133));</span></code><br/><code><span leaf="">        objc_release(v134);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( !v134 )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">600</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to retrieve %@.&#34;</span>),</span></code><br/><code><span leaf="">                                                          v135,</span></code><br/><code><span leaf="">                                                          v136,</span></code><br/><code><span leaf="">                                                          v137,</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;SecurityDomain&#34;</span>)));</span></code><br/><code><span leaf="">          objc_release(v79);</span></code><br/><code><span leaf="">          v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v290 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v4 = v292;</span></code><br/><code><span leaf="">          v35 = v286;</span></code><br/><code><span leaf="">          v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">          v33 = v282;</span></code><br/><code><span leaf="">          v72 = v283;</span></code><br/><code><span leaf="">          v32 = v280;</span></code><br/><code><span leaf="">LABEL_133:</span></code><br/><code><span leaf="">          a1 = v279;</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">goto</span> LABEL_171;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        v138 = objc_retainAutoreleasedReturnValue(+[GestaltHlpr getSharedInstance](&amp;OBJC_CLASS___GestaltHlpr, <span class="code-snippet__string">&#34;getSharedInstance&#34;</span>));</span></code><br/><code><span leaf="">        v139 = (__SecKey *)objc_msgSend(v138, <span class="code-snippet__string">&#34;copyAnswer:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;SerialNumber&#34;</span>));</span></code><br/><code><span leaf="">        objc_release(v138);</span></code><br/><code><span leaf="">        v278 = v139;</span></code><br/><code><span leaf="">        v140 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_1(v139));</span></code><br/><code><span leaf="">        objc_release(v140);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( v140 )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v144 = objc_retainAutoreleasedReturnValue(+[GestaltHlpr getSharedInstance](&amp;OBJC_CLASS___GestaltHlpr, <span class="code-snippet__string">&#34;getSharedInstance&#34;</span>));</span></code><br/><code><span leaf="">          v145 = objc_msgSend(v144, <span class="code-snippet__string">&#34;copyAnswer:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;BuildVersion&#34;</span>));</span></code><br/><code><span leaf="">          objc_release(v144);</span></code><br/><code><span leaf="">          v307 = v145;</span></code><br/><code><span leaf="">          v44 = (__SecKey *)objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)isKindOfClass_1(v145));</span></code><br/><code><span leaf="">          objc_release(v44);</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">if</span> ( v44 )</span></code><br/><code><span leaf="">          {</span></code><br/><code><span leaf="">            v149 = SecKeyCopyPublicKey(a1);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">if</span> ( v149 )</span></code><br/><code><span leaf="">            {</span></code><br/><code><span leaf="">              v290 = v149;</span></code><br/><code><span leaf="">              v153 = SecKeyCopyExternalRepresentation(v149, &amp;error);</span></code><br/><code><span leaf="">              v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">              <span class="code-snippet__keyword">if</span> ( v153 )</span></code><br/><code><span leaf="">              {</span></code><br/><code><span leaf="">                v157 = v153;</span></code><br/><code><span leaf="">                <span class="code-snippet__keyword">if</span> ( -[<span class="code-snippet__built_in">NSNumber</span> boolValue](v313, <span class="code-snippet__string">&#34;boolValue&#34;</span>) )</span></code><br/><code><span leaf="">                  v158 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">                  v158 = <span class="code-snippet__number">2</span>;</span></code><br/><code><span leaf="">                v330[<span class="code-snippet__number">1</span>] = v79;</span></code><br/><code><span leaf="">                v159 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)security_create_system_key_attestation(</span></code><br/><code><span leaf="">                                                                (<span class="code-snippet__type">int</span>)a1,</span></code><br/><code><span leaf="">                                                                v158,</span></code><br/><code><span leaf="">                                                                v318));</span></code><br/><code><span leaf="">                v160 = objc_retain(v79);</span></code><br/><code><span leaf="">                objc_release(v79);</span></code><br/><code><span leaf="">                v312 = v159;</span></code><br/><code><span leaf="">                v299 = v157;</span></code><br/><code><span leaf="">                <span class="code-snippet__keyword">if</span> ( v159 )</span></code><br/><code><span leaf="">                {</span></code><br/><code><span leaf="">                  v325 = v160;</span></code><br/><code><span leaf="">                  <span class="code-snippet__keyword">if</span> ( v316 )</span></code><br/><code><span leaf="">                  {</span></code><br/><code><span leaf="">                    v164 = v283;</span></code><br/><code><span leaf="">                    -[__SecKey setObject:forKeyedSubscript:](</span></code><br/><code><span leaf="">                      v283,</span></code><br/><code><span leaf="">                      <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>,</span></code><br/><code><span leaf="">                      v316,</span></code><br/><code><span leaf="">                      <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RKCertification&#34;</span>));</span></code><br/><code><span leaf="">                    -[__SecKey setObject:forKeyedSubscript:](</span></code><br/><code><span leaf="">                      v283,</span></code><br/><code><span leaf="">                      <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>,</span></code><br/><code><span leaf="">                      v159,</span></code><br/><code><span leaf="">                      <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RKSigning&#34;</span>));</span></code><br/><code><span leaf="">                    v165 = off_100E52138;</span></code><br/><code><span leaf="">                    v166 = v157;</span></code><br/><code><span leaf="">                    v167 = v157;</span></code><br/><code><span leaf="">                  }</span></code><br/><code><span leaf="">                  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">                  {</span></code><br/><code><span leaf="">                    v165 = off_100E51E10;</span></code><br/><code><span leaf="">                    v167 = (<span class="code-snippet__built_in">CFDataRef</span>)v159;</span></code><br/><code><span leaf="">                    v164 = v283;</span></code><br/><code><span leaf="">                    v166 = v157;</span></code><br/><code><span leaf="">                  }</span></code><br/><code><span leaf="">                  -[__SecKey setObject:forKeyedSubscript:](v164, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v167, *v165);</span></code><br/><code><span leaf="">                  v242 = objc_alloc((Class)&amp;OBJC_CLASS___NSMutableDictionary);</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">0</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UniqueChipID&#34;</span>);</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">1</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ChipID&#34;</span>);</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">0</span>] = v34;</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">1</span>] = v282;</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">2</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;BoardId&#34;</span>);</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">3</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;SecurityDomain&#34;</span>);</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">2</span>] = v280;</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">3</span>] = v279;</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">4</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;SerialNumber&#34;</span>);</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">5</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OsBuildVersion&#34;</span>);</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">4</span>] = v278;</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">5</span>] = v307;</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">6</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;scrtAttestation&#34;</span>);</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">7</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;CertType&#34;</span>);</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">6</span>] = v313;</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">7</span>] = v322;</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">8</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Validity&#34;</span>);</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">9</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;CACert&#34;</span>);</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">8</span>] = v309;</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">9</span>] = v308;</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">10</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>);</span></code><br/><code><span leaf="">                  v340[<span class="code-snippet__number">11</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;SIKPub&#34;</span>);</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">10</span>] = v13;</span></code><br/><code><span leaf="">                  v341[<span class="code-snippet__number">11</span>] = *(_QWORD *)v288;</span></code><br/><code><span leaf="">                  v243 = objc_retainAutoreleasedReturnValue(</span></code><br/><code><span leaf="">                           +[<span class="code-snippet__built_in">NSDictionary</span> dictionaryWithObjects:forKeys:count:](</span></code><br/><code><span leaf="">                             &amp;OBJC_CLASS___NSDictionary,</span></code><br/><code><span leaf="">                             <span class="code-snippet__string">&#34;dictionaryWithObjects:forKeys:count:&#34;</span>,</span></code><br/><code><span leaf="">                             v341,</span></code><br/><code><span leaf="">                             v340,</span></code><br/><code><span leaf="">                             <span class="code-snippet__number">12</span>));</span></code><br/><code><span leaf="">                  v244 = objc_msgSend(v242, <span class="code-snippet__string">&#34;initWithDictionary:&#34;</span>, v243);</span></code><br/><code><span leaf="">                  objc_release(v243);</span></code><br/><code><span leaf="">                  v245 = off_100E52130;</span></code><br/><code><span leaf="">                  <span class="code-snippet__keyword">if</span> ( v316 )</span></code><br/><code><span leaf="">                  {</span></code><br/><code><span leaf="">                    objc_msgSend(v244, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v320, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RKCertificationPub&#34;</span>));</span></code><br/><code><span leaf="">                    v245 = off_100E52138;</span></code><br/><code><span leaf="">                  }</span></code><br/><code><span leaf="">                  v35 = v286;</span></code><br/><code><span leaf="">                  v246 = objc_msgSend(v244, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v166, *v245);</span></code><br/><code><span leaf="">                  <span class="code-snippet__keyword">if</span> ( v286 )</span></code><br/><code><span leaf="">                    v246 = objc_msgSend(v244, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v286, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UIKPub&#34;</span>));</span></code><br/><code><span leaf="">                  v247 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)IORegistryEntry_sub_10052290C(v246));</span></code><br/><code><span leaf="">                  v314 = v244;</span></code><br/><code><span leaf="">                  <span class="code-snippet__keyword">if</span> ( !v247 )</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">goto</span> LABEL_201;</span></code><br/><code><span leaf="">                  v248 = v247;</span></code><br/><code><span leaf="">                  <span class="code-snippet__keyword">if</span> ( (sub_100C87330() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">                  {</span></code><br/><code><span leaf="">                    objc_release(v248);</span></code><br/><code><span leaf="">LABEL_201:</span></code><br/><code><span leaf="">                    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_207:</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">if</span> ( v303 &amp;&amp; (sub_100C87320() &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">                    {</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">if</span> ( (sub_100C87330() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">                      {</span></code><br/><code><span leaf="">                        v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                      }</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">                      {</span></code><br/><code><span leaf="">                        v329 = v325;</span></code><br/><code><span leaf="">                        v255 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)sub_100C75830(<span class="code-snippet__number">2</span>, &amp;v329));</span></code><br/><code><span leaf="">                        v256 = objc_retain(v329);</span></code><br/><code><span leaf="">                        objc_release(v325);</span></code><br/><code><span leaf="">                        v301 = v255;</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">if</span> ( !v255 )</span></code><br/><code><span leaf="">                        {</span></code><br/><code><span leaf="">                          v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                                          <span class="code-snippet__number">735</span>,</span></code><br/><code><span leaf="">                                                                          <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                                          v256,</span></code><br/><code><span leaf="">                                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to load boot manifest.&#34;</span>),</span></code><br/><code><span leaf="">                                                                          v257,</span></code><br/><code><span leaf="">                                                                          v258,</span></code><br/><code><span leaf="">                                                                          v259,</span></code><br/><code><span leaf="">                                                                          v275));</span></code><br/><code><span leaf="">                          objc_release(v256);</span></code><br/><code><span leaf="">                          v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                          v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_240:</span></code><br/><code><span leaf="">                          v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                          v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                          v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                          <span class="code-snippet__keyword">goto</span> LABEL_168;</span></code><br/><code><span leaf="">                        }</span></code><br/><code><span leaf="">                        objc_msgSend(v314, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v255, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Image4Manifest&#34;</span>));</span></code><br/><code><span leaf="">                        v325 = v256;</span></code><br/><code><span leaf="">                      }</span></code><br/><code><span leaf="">                      v35 = v286;</span></code><br/><code><span leaf="">                      v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">                      v34 = v281;</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">                    {</span></code><br/><code><span leaf="">                      v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">if</span> ( (sub_100C87330() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">                    {</span></code><br/><code><span leaf="">                      v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_221:</span></code><br/><code><span leaf="">                      v4 = v292;</span></code><br/><code><span leaf="">                      v266 = v306;</span></code><br/><code><span leaf="">                      v72 = v283;</span></code><br/><code><span leaf="">LABEL_222:</span></code><br/><code><span leaf="">                      v33 = v282;</span></code><br/><code><span leaf="">                      v262 = v325;</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">goto</span> LABEL_223;</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                    is_darwinos = os_variant_is_darwinos(objc_msgSend(<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.mobileactivationd&#34;</span>), <span class="code-snippet__string">&#34;UTF8String&#34;</span>));</span></code><br/><code><span leaf="">                    v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">if</span> ( !v297 )</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">goto</span> LABEL_221;</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">if</span> ( (is_darwinos &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">                    {</span></code><br/><code><span leaf="">                      v4 = v292;</span></code><br/><code><span leaf="">                      v266 = v306;</span></code><br/><code><span leaf="">                      v35 = v286;</span></code><br/><code><span leaf="">                      v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">                      v72 = v283;</span></code><br/><code><span leaf="">                      v34 = v281;</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">goto</span> LABEL_222;</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                    v328 = v325;</span></code><br/><code><span leaf="">                    v261 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)sub_100C75830(<span class="code-snippet__number">10</span>, &amp;v328));</span></code><br/><code><span leaf="">                    v262 = objc_retain(v328);</span></code><br/><code><span leaf="">                    objc_release(v325);</span></code><br/><code><span leaf="">                    v305 = v261;</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">if</span> ( v261 )</span></code><br/><code><span leaf="">                    {</span></code><br/><code><span leaf="">                      objc_msgSend(v314, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v261, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Cryptex1Image4Manifest&#34;</span>));</span></code><br/><code><span leaf="">                      v4 = v292;</span></code><br/><code><span leaf="">                      v266 = v306;</span></code><br/><code><span leaf="">                      v35 = v286;</span></code><br/><code><span leaf="">                      v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">                      v33 = v282;</span></code><br/><code><span leaf="">                      v72 = v283;</span></code><br/><code><span leaf="">                      v34 = v281;</span></code><br/><code><span leaf="">LABEL_223:</span></code><br/><code><span leaf="">                      v32 = v280;</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">if</span> ( v310 )</span></code><br/><code><span leaf="">                        objc_msgSend(v314, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v310, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AppID&#34;</span>));</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">if</span> ( v311 )</span></code><br/><code><span leaf="">                        objc_msgSend(v314, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v311, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiProperties&#34;</span>));</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">if</span> ( v315 )</span></code><br/><code><span leaf="">                        objc_msgSend(v314, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v315, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiPPUID&#34;</span>));</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">if</span> ( v266 )</span></code><br/><code><span leaf="">                        objc_msgSend(v314, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v266, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;MFiData&#34;</span>));</span></code><br/><code><span leaf="">                      v327 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                      v267 = objc_retainAutoreleasedReturnValue(</span></code><br/><code><span leaf="">                               +[<span class="code-snippet__built_in">NSPropertyListSerialization</span> dataWithPropertyList:format:options:error:](</span></code><br/><code><span leaf="">                                 &amp;OBJC_CLASS___NSPropertyListSerialization,</span></code><br/><code><span leaf="">                                 <span class="code-snippet__string">&#34;dataWithPropertyList:format:options:error:&#34;</span>,</span></code><br/><code><span leaf="">                                 v314,</span></code><br/><code><span leaf="">                                 <span class="code-snippet__number">100</span>,</span></code><br/><code><span leaf="">                                 <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                 &amp;v327));</span></code><br/><code><span leaf="">                      v287 = objc_retain(v327);</span></code><br/><code><span leaf="">                      objc_release(v262);</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">if</span> ( v267 )</span></code><br/><code><span leaf="">                      {</span></code><br/><code><span leaf="">                        -[__SecKey setObject:forKeyedSubscript:](</span></code><br/><code><span leaf="">                          v72,</span></code><br/><code><span leaf="">                          <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>,</span></code><br/><code><span leaf="">                          v267,</span></code><br/><code><span leaf="">                          <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RKProperties&#34;</span>));</span></code><br/><code><span leaf="">                        v298 = v267;</span></code><br/><code><span leaf="">                        v271 = SecKeyCreateSignature(</span></code><br/><code><span leaf="">                                 a1,</span></code><br/><code><span leaf="">                                 kSecKeyAlgorithmECDSASignatureMessageX962SHA256,</span></code><br/><code><span leaf="">                                 (<span class="code-snippet__built_in">CFDataRef</span>)v267,</span></code><br/><code><span leaf="">                                 &amp;error);</span></code><br/><code><span leaf="">                        v27 = v278;</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">if</span> ( v271 )</span></code><br/><code><span leaf="">                        {</span></code><br/><code><span leaf="">                          v296 = v271;</span></code><br/><code><span leaf="">                          -[__SecKey setObject:forKeyedSubscript:](</span></code><br/><code><span leaf="">                            v72,</span></code><br/><code><span leaf="">                            <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>,</span></code><br/><code><span leaf="">                            v271,</span></code><br/><code><span leaf="">                            <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RKPropertiesSignature&#34;</span>));</span></code><br/><code><span leaf="">                          v44 = objc_retain(v72);</span></code><br/><code><span leaf="">                          v324 = v287;</span></code><br/><code><span leaf="">                        }</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">                        {</span></code><br/><code><span leaf="">                          v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                                          <span class="code-snippet__number">810</span>,</span></code><br/><code><span leaf="">                                                                          <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                                          error,</span></code><br/><code><span leaf="">                                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to sign data with ref key.&#34;</span>),</span></code><br/><code><span leaf="">                                                                          v272,</span></code><br/><code><span leaf="">                                                                          v273,</span></code><br/><code><span leaf="">                                                                          v274,</span></code><br/><code><span leaf="">                                                                          v275));</span></code><br/><code><span leaf="">                          objc_release(v287);</span></code><br/><code><span leaf="">                          v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                          v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                        }</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">goto</span> LABEL_133;</span></code><br/><code><span leaf="">                      }</span></code><br/><code><span leaf="">                      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                                      <span class="code-snippet__number">799</span>,</span></code><br/><code><span leaf="">                                                                      <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                                      v287,</span></code><br/><code><span leaf="">                                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Could not convert dictionary to xml data.&#34;</span>),</span></code><br/><code><span leaf="">                                                                      v268,</span></code><br/><code><span leaf="">                                                                      v269,</span></code><br/><code><span leaf="">                                                                      v270,</span></code><br/><code><span leaf="">                                                                      v275));</span></code><br/><code><span leaf="">                      objc_release(v287);</span></code><br/><code><span leaf="">                      v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                      v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                      v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_170:</span></code><br/><code><span leaf="">                      v27 = v278;</span></code><br/><code><span leaf="">                      a1 = v279;</span></code><br/><code><span leaf="">LABEL_171:</span></code><br/><code><span leaf="">                      <span class="code-snippet__built_in">CFRelease</span>(cf);</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">if</span> ( v284 )</span></code><br/><code><span leaf="">                        <span class="code-snippet__built_in">CFRelease</span>(v284);</span></code><br/><code><span leaf="">LABEL_173:</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">if</span> ( v289 )</span></code><br/><code><span leaf="">                        <span class="code-snippet__built_in">CFRelease</span>(v289);</span></code><br/><code><span leaf="">                      v205 = v294;</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">if</span> ( !v294 )</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">goto</span> LABEL_177;</span></code><br/><code><span leaf="">                      <span class="code-snippet__keyword">goto</span> LABEL_176;</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                                    <span class="code-snippet__number">770</span>,</span></code><br/><code><span leaf="">                                                                    <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                                    v262,</span></code><br/><code><span leaf="">                                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to load cryptex1 manifest.&#34;</span>),</span></code><br/><code><span leaf="">                                                                    v263,</span></code><br/><code><span leaf="">                                                                    v264,</span></code><br/><code><span leaf="">                                                                    v265,</span></code><br/><code><span leaf="">                                                                    v275));</span></code><br/><code><span leaf="">                    objc_release(v262);</span></code><br/><code><span leaf="">                    v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">goto</span> LABEL_240;</span></code><br/><code><span leaf="">                  }</span></code><br/><code><span leaf="">                  v249 = os_variant_is_darwinos(objc_msgSend(<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.mobileactivationd&#34;</span>), <span class="code-snippet__string">&#34;UTF8String&#34;</span>));</span></code><br/><code><span leaf="">                  objc_release(v248);</span></code><br/><code><span leaf="">                  <span class="code-snippet__keyword">if</span> ( (v249 &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">                  {</span></code><br/><code><span leaf="">                    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_206:</span></code><br/><code><span leaf="">                    v34 = v281;</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">goto</span> LABEL_207;</span></code><br/><code><span leaf="">                  }</span></code><br/><code><span leaf="">                  v330[<span class="code-snippet__number">0</span>] = v160;</span></code><br/><code><span leaf="">                  v250 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)sub_100C75830(<span class="code-snippet__number">9</span>, v330));</span></code><br/><code><span leaf="">                  v251 = objc_retain(v330[<span class="code-snippet__number">0</span>]);</span></code><br/><code><span leaf="">                  objc_release(v160);</span></code><br/><code><span leaf="">                  v302 = v250;</span></code><br/><code><span leaf="">                  <span class="code-snippet__keyword">if</span> ( v250 )</span></code><br/><code><span leaf="">                  {</span></code><br/><code><span leaf="">                    objc_msgSend(v244, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, v250, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;LocalPolicy&#34;</span>));</span></code><br/><code><span leaf="">                    v325 = v251;</span></code><br/><code><span leaf="">                    v35 = v286;</span></code><br/><code><span leaf="">                    v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">goto</span> LABEL_206;</span></code><br/><code><span leaf="">                  }</span></code><br/><code><span leaf="">                  v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                                  (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                                  <span class="code-snippet__number">719</span>,</span></code><br/><code><span leaf="">                                                                  <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                                  v251,</span></code><br/><code><span leaf="">                                                                  (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to load cryptex1 local policy.&#34;</span>),</span></code><br/><code><span leaf="">                                                                  v252,</span></code><br/><code><span leaf="">                                                                  v253,</span></code><br/><code><span leaf="">                                                                  v254,</span></code><br/><code><span leaf="">                                                                  v275));</span></code><br/><code><span leaf="">                  objc_release(v251);</span></code><br/><code><span leaf="">                  v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                  v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                  v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                  v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                  v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_167:</span></code><br/><code><span leaf="">                  v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_168:</span></code><br/><code><span leaf="">                  v4 = v292;</span></code><br/><code><span leaf="">                  v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">LABEL_169:</span></code><br/><code><span leaf="">                  v35 = v286;</span></code><br/><code><span leaf="">                  v33 = v282;</span></code><br/><code><span leaf="">                  v72 = v283;</span></code><br/><code><span leaf="">                  v32 = v280;</span></code><br/><code><span leaf="">                  v34 = v281;</span></code><br/><code><span leaf="">                  <span class="code-snippet__keyword">goto</span> LABEL_170;</span></code><br/><code><span leaf="">                }</span></code><br/><code><span leaf="">                v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                                (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                                <span class="code-snippet__number">637</span>,</span></code><br/><code><span leaf="">                                                                <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                                v160,</span></code><br/><code><span leaf="">                                                                (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create reference key attestation (nonce: %@).&#34;</span>),</span></code><br/><code><span leaf="">                                                                v161,</span></code><br/><code><span leaf="">                                                                v162,</span></code><br/><code><span leaf="">                                                                v163,</span></code><br/><code><span leaf="">                                                                (<span class="code-snippet__type">char</span>)v318));</span></code><br/><code><span leaf="">                objc_release(v160);</span></code><br/><code><span leaf="">                v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">              }</span></code><br/><code><span leaf="">              <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">              {</span></code><br/><code><span leaf="">                v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                                (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                                <span class="code-snippet__number">628</span>,</span></code><br/><code><span leaf="">                                                                <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                                <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                                (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to encode RK public key as data.&#34;</span>),</span></code><br/><code><span leaf="">                                                                v154,</span></code><br/><code><span leaf="">                                                                v155,</span></code><br/><code><span leaf="">                                                                v156,</span></code><br/><code><span leaf="">                                                                v275));</span></code><br/><code><span leaf="">                objc_release(v79);</span></code><br/><code><span leaf="">                v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">              }</span></code><br/><code><span leaf="">              v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">              v4 = v292;</span></code><br/><code><span leaf="">              <span class="code-snippet__keyword">goto</span> LABEL_169;</span></code><br/><code><span leaf="">            }</span></code><br/><code><span leaf="">            v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                            (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                            <span class="code-snippet__number">622</span>,</span></code><br/><code><span leaf="">                                                            <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                            <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                            (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to copy RK public key.&#34;</span>),</span></code><br/><code><span leaf="">                                                            v150,</span></code><br/><code><span leaf="">                                                            v151,</span></code><br/><code><span leaf="">                                                            v152,</span></code><br/><code><span leaf="">                                                            v275));</span></code><br/><code><span leaf="">            objc_release(v79);</span></code><br/><code><span leaf="">            v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          }</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">          {</span></code><br/><code><span leaf="">            v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                            (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                            <span class="code-snippet__number">612</span>,</span></code><br/><code><span leaf="">                                                            <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                            v79,</span></code><br/><code><span leaf="">                                                            (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to retrieve %@.&#34;</span>),</span></code><br/><code><span leaf="">                                                            v146,</span></code><br/><code><span leaf="">                                                            v147,</span></code><br/><code><span leaf="">                                                            v148,</span></code><br/><code><span leaf="">                                                            (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;BuildVersion&#34;</span>)));</span></code><br/><code><span leaf="">            objc_release(v79);</span></code><br/><code><span leaf="">            v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          }</span></code><br/><code><span leaf="">          v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">606</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                          <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to retrieve %@.&#34;</span>),</span></code><br/><code><span leaf="">                                                          v141,</span></code><br/><code><span leaf="">                                                          v142,</span></code><br/><code><span leaf="">                                                          v143,</span></code><br/><code><span leaf="">                                                          (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;SerialNumber&#34;</span>)));</span></code><br/><code><span leaf="">          objc_release(v79);</span></code><br/><code><span leaf="">          v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        v290 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_167;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">582</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to retrieve %@.&#34;</span>),</span></code><br/><code><span leaf="">                                                      v117,</span></code><br/><code><span leaf="">                                                      v118,</span></code><br/><code><span leaf="">                                                      v119,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UniqueChipID&#34;</span>)));</span></code><br/><code><span leaf="">      objc_release(v79);</span></code><br/><code><span leaf="">      v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">543</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-4</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UCRT is unavailable.&#34;</span>),</span></code><br/><code><span leaf="">                                                      v112,</span></code><br/><code><span leaf="">                                                      v113,</span></code><br/><code><span leaf="">                                                      v114,</span></code><br/><code><span leaf="">                                                      v275));</span></code><br/><code><span leaf="">      objc_release(v79);</span></code><br/><code><span leaf="">      v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v290 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v4 = v292;</span></code><br/><code><span leaf="">    v35 = v286;</span></code><br/><code><span leaf="">    v7 = *(<span class="code-snippet__type">id</span> *)v288;</span></code><br/><code><span leaf="">    v72 = v283;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_171;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( -[<span class="code-snippet__built_in">NSNumber</span> boolValue](v41, <span class="code-snippet__string">&#34;boolValue&#34;</span>) )</span></code><br/><code><span leaf="">    v43 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    v43 = <span class="code-snippet__number">2</span>;</span></code><br/><code><span leaf="">  v334[<span class="code-snippet__number">2</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v44 = (__SecKey *)objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)security_create_system_key_attestation((<span class="code-snippet__type">int</span>)a1, v43, v38));</span></code><br/><code><span leaf="">  v48 = objc_retain(<span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v44 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">477</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                    v48,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create reference key attestation.&#34;</span>),</span></code><br/><code><span leaf="">                                                    v45,</span></code><br/><code><span leaf="">                                                    v46,</span></code><br/><code><span leaf="">                                                    v47,</span></code><br/><code><span leaf="">                                                    v275));</span></code><br/><code><span leaf="">    objc_release(v48);</span></code><br/><code><span leaf="">    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v7 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v316 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_47;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v316 = v44;</span></code><br/><code><span leaf="">  v49 = SecKeyCopyPublicKey(a1);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v49 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">483</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to copy RK public key.&#34;</span>),</span></code><br/><code><span leaf="">                                                    v50,</span></code><br/><code><span leaf="">                                                    v51,</span></code><br/><code><span leaf="">                                                    v52,</span></code><br/><code><span leaf="">                                                    v275));</span></code><br/><code><span leaf="">    objc_release(v48);</span></code><br/><code><span leaf="">    v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v31 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_45;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v294 = v49;</span></code><br/><code><span leaf="">  v53 = SecKeyCopyExternalRepresentation(v49, &amp;error);</span></code><br/><code><span leaf="">  objc_release(v320);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v53 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v57 = SecAccessControlCreate(<span class="code-snippet__number">0</span>, &amp;error);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v57 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v61 = kSecAttrAccessibleUntilReboot;</span></code><br/><code><span leaf="">      v62 = v57;</span></code><br/><code><span leaf="">      v291 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v57;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( (SecAccessControlSetProtection(v57, kSecAttrAccessibleUntilReboot, &amp;error) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v334[<span class="code-snippet__number">1</span>] = v48;</span></code><br/><code><span leaf="">        v66 = (__SecKey *)sub_100C6E934(v62, v40, v4);</span></code><br/><code><span leaf="">        v42 = objc_retain(v48);</span></code><br/><code><span leaf="">        objc_release(v48);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( v66 )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v320 = v53;</span></code><br/><code><span leaf="">          a1 = v66;</span></code><br/><code><span leaf="">          v289 = v66;</span></code><br/><code><span leaf="">          v37 = v316;</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">goto</span> LABEL_49;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                        (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                        <span class="code-snippet__number">508</span>,</span></code><br/><code><span leaf="">                                                        <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                        v42,</span></code><br/><code><span leaf="">                                                        (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create reference key.&#34;</span>),</span></code><br/><code><span leaf="">                                                        v67,</span></code><br/><code><span leaf="">                                                        v68,</span></code><br/><code><span leaf="">                                                        v69,</span></code><br/><code><span leaf="">                                                        v275));</span></code><br/><code><span leaf="">        v48 = v42;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                        (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                        <span class="code-snippet__number">502</span>,</span></code><br/><code><span leaf="">                                                        <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                        error,</span></code><br/><code><span leaf="">                                                        (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to set ACL protection to %@.&#34;</span>),</span></code><br/><code><span leaf="">                                                        v63,</span></code><br/><code><span leaf="">                                                        v64,</span></code><br/><code><span leaf="">                                                        v65,</span></code><br/><code><span leaf="">                                                        v61));</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">497</span>,</span></code><br/><code><span leaf="">                                                      <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                      error,</span></code><br/><code><span leaf="">                                                      (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create access control.&#34;</span>),</span></code><br/><code><span leaf="">                                                      v58,</span></code><br/><code><span leaf="">                                                      v59,</span></code><br/><code><span leaf="">                                                      v60,</span></code><br/><code><span leaf="">                                                      v275));</span></code><br/><code><span leaf="">      v291 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v320 = v53;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v324 = objc_retainAutoreleasedReturnValue((<span class="code-snippet__type">id</span>)com_apple_MobileActivation_ErrorDomain(</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__string">&#34;create_baa_info&#34;</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">489</span>,</span></code><br/><code><span leaf="">                                                    <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                                    error,</span></code><br/><code><span leaf="">                                                    (<span class="code-snippet__type">int</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to encode RK public key as data.&#34;</span>),</span></code><br/><code><span leaf="">                                                    v54,</span></code><br/><code><span leaf="">                                                    v55,</span></code><br/><code><span leaf="">                                                    v56,</span></code><br/><code><span leaf="">                                                    v275));</span></code><br/><code><span leaf="">    v320 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v291 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  objc_release(v48);</span></code><br/><code><span leaf="">  v302 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v305 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v301 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v72 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v44 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v314 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v296 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v298 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v312 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v7 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v299 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v34 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v33 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  a1 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v27 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v307 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v290 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v205 = v294;</span></code><br/><code><span leaf="">LABEL_176:</span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFRelease</span>(v205);</span></code><br/><code><span leaf="">LABEL_177:</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v290 )</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease</span>(v290);</span></code><br/><code><span leaf="">  v31 = v291;</span></code><br/><code><span leaf="">LABEL_180:</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( error )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v295 = v44;</span></code><br/><code><span leaf="">    v230 = v27;</span></code><br/><code><span leaf="">    v231 = a1;</span></code><br/><code><span leaf="">    v232 = v32;</span></code><br/><code><span leaf="">    v233 = v4;</span></code><br/><code><span leaf="">    v234 = v33;</span></code><br/><code><span leaf="">    v235 = v34;</span></code><br/><code><span leaf="">    v236 = v72;</span></code><br/><code><span leaf="">    v237 = v35;</span></code><br/><code><span leaf="">    v238 = v7;</span></code><br/><code><span leaf="">    v239 = v31;</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease</span>(error);</span></code><br/><code><span leaf="">    v31 = v239;</span></code><br/><code><span leaf="">    v7 = v238;</span></code><br/><code><span leaf="">    v35 = v237;</span></code><br/><code><span leaf="">    v72 = v236;</span></code><br/><code><span leaf="">    v34 = v235;</span></code><br/><code><span leaf="">    v33 = v234;</span></code><br/><code><span leaf="">    v4 = v233;</span></code><br/><code><span leaf="">    v32 = v232;</span></code><br/><code><span leaf="">    a1 = v231;</span></code><br/><code><span leaf="">    v27 = v230;</span></code><br/><code><span leaf="">    v44 = v295;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  error = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v31 )</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease</span>(v31);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( a3 &amp;&amp; !v44 )</span></code><br/><code><span leaf="">    *a3 = objc_retainAutorelease(v324);</span></code><br/><code><span leaf="">  v240 = objc_retain(v44);</span></code><br/><code><span leaf="">  objc_release(v302);</span></code><br/><code><span leaf="">  objc_release(v324);</span></code><br/><code><span leaf="">  objc_release(v306);</span></code><br/><code><span leaf="">  objc_release(v315);</span></code><br/><code><span leaf="">  objc_release(v300);</span></code><br/><code><span leaf="">  objc_release(v311);</span></code><br/><code><span leaf="">  objc_release(v310);</span></code><br/><code><span leaf="">  objc_release(v322);</span></code><br/><code><span leaf="">  objc_release(v313);</span></code><br/><code><span leaf="">  objc_release(v308);</span></code><br/><code><span leaf="">  objc_release(v309);</span></code><br/><code><span leaf="">  objc_release(v318);</span></code><br/><code><span leaf="">  objc_release(v321);</span></code><br/><code><span leaf="">  objc_release(v307);</span></code><br/><code><span leaf="">  objc_release(v27);</span></code><br/><code><span leaf="">  objc_release(a1);</span></code><br/><code><span leaf="">  objc_release(v32);</span></code><br/><code><span leaf="">  objc_release(v33);</span></code><br/><code><span leaf="">  objc_release(v34);</span></code><br/><code><span leaf="">  objc_release(v299);</span></code><br/><code><span leaf="">  objc_release(v35);</span></code><br/><code><span leaf="">  objc_release(v7);</span></code><br/><code><span leaf="">  objc_release(v320);</span></code><br/><code><span leaf="">  objc_release(v316);</span></code><br/><code><span leaf="">  objc_release(v296);</span></code><br/><code><span leaf="">  objc_release(v312);</span></code><br/><code><span leaf="">  objc_release(v298);</span></code><br/><code><span leaf="">  objc_release(v314);</span></code><br/><code><span leaf="">  objc_release(v240);</span></code><br/><code><span leaf="">  objc_release(v72);</span></code><br/><code><span leaf="">  objc_release(v301);</span></code><br/><code><span leaf="">  objc_release(v319);</span></code><br/><code><span leaf="">  objc_release(v305);</span></code><br/><code><span leaf="">  objc_release(v4);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( ((vars8 ^ (<span class="code-snippet__number">2</span> * vars8)) &amp; <span class="code-snippet__number">0x4000000000000000</span>LL) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    __<span class="code-snippet__keyword">break</span>(<span class="code-snippet__number">0xC471</span>u);</span></code><br/><code><span leaf="">  v241 = objc_autoreleaseReturnValue(v240);</span></code><br/><code><span leaf="">}</span></code><br/></pre></p><ul class="list-paddingleft-1"><li><p><span leaf="">采集验签证书</span></p></li></ul><p><span leaf="">用 SE 里封装的密钥 + 苹果预置的证书链，生成了一份 attestation（证明）blob，这个 blob 里面带着证书和签名，对“某些设备硬件字段 + 公钥”做了绑定。</span></p><p><span leaf="">这个“证书/attestation blob”是 依赖安全硬件（Secure Enclave / Apple KeyStore）生成的，而且签名覆盖了与这台硬件绑定的一些信息。</span></p><p><span leaf="">格式如下：</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">SEQUENCE</span></span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">INTEGER</span> <span class="code-snippet__number">02</span></span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">SEQUENCE</span></span></code><br/><code><span leaf="">    <span class="code-snippet__attribute">OCTETSTRING</span> xxxxdeca90b4fd52da1c016730a81dcb281f6c4dbb973e6b8438e6827530a177</span></code><br/><code><span leaf="">    <span class="code-snippet__attribute">OCTETSTRING</span> xxxx980ea0e8b0211cc342dc42067f1b..(total <span class="code-snippet__number">65</span>bytes)..<span class="code-snippet__number">2</span>c8c482afb33b9e84221b49ffd1d81fa</span></code><br/><code><span leaf="">    <span class="code-snippet__attribute">OCTETSTRING</span> xxxx730da8259089a9b9b02bd4a455fd</span></code><br/><code><span leaf="">    <span class="code-snippet__attribute">OCTETSTRING</span> xxxxce59b8232b317ff32beb21237051</span></code><br/><code><span leaf="">    <span class="code-snippet__attribute">OCTETSTRING</span> xxxx56c0b70138d40071067ee100013f..(total <span class="code-snippet__number">1074</span>bytes)..<span class="code-snippet__number">4</span>b70f5283c1085f6a8d25107d6b9a94b</span></code><br/></pre></p><ul class="list-paddingleft-1"><li><p><span leaf="">上报激活信息</span></p></li></ul><p><span leaf="">将采集的硬件信息与证书签名信信息组合成 plist格式数据上报到服务器端</span></p><ul class="list-paddingleft-1"><li><p><span leaf="">Headers</span></p></li></ul><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="javascript"><code><span leaf="">[*] <span class="code-snippet__variable">URL</span>     : <span class="code-snippet__attr">https</span>:<span class="code-snippet__comment">//humb.apple.com/humbug/baa</span></span></code><br/><code><span leaf="">[*] <span class="code-snippet__title">Method</span>  : <span class="code-snippet__variable">POST</span></span></code><br/><code><span leaf="">        <span class="code-snippet__number">0</span> : <span class="code-snippet__title">User</span>-<span class="code-snippet__title">Agent</span> = {contents = <span class="code-snippet__string">&#34;iOS Device Activator (MobileActivation-834.100.27) - devicecheckd&#34;</span>}</span></code><br/><code><span leaf="">        <span class="code-snippet__number">3</span> : <span class="code-snippet__title">Content</span>-<span class="code-snippet__title">Type</span> = {contents = <span class="code-snippet__string">&#34;application/xml&#34;</span>}</span></code><br/><code><span leaf="">        <span class="code-snippet__number">4</span> : <span class="code-snippet__title">Content</span>-<span class="code-snippet__title">Length</span> = <span class="code-snippet__number">9822</span></span></code><br/><code><span leaf="">        <span class="code-snippet__number">6</span> : x-jmet-deviceid = {contents = <span class="code-snippet__string">&#34;00008110-303C30C91A06484E&#34;</span>}</span></code><br/><code><span leaf="">}</span></code><br/></pre></p><ul class="list-paddingleft-1"><li><p><span leaf="">body</span></p></li></ul><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="xml"><code><span leaf=""><span class="code-snippet__meta">&lt;?xml version=</span><span class="code-snippet__meta"><span class="code-snippet__string">&#34;1.0&#34;</span></span><span class="code-snippet__meta"> encoding=</span><span class="code-snippet__meta"><span class="code-snippet__string">&#34;UTF-8&#34;</span></span><span class="code-snippet__meta">?&gt;</span></span></code><br/><code><span leaf=""><span class="code-snippet__meta">&lt;!DOCTYPE </span><span class="code-snippet__meta"><span class="code-snippet__keyword">plist</span></span><span class="code-snippet__meta"><span class="code-snippet__keyword">PUBLIC</span></span><span class="code-snippet__meta"><span class="code-snippet__string">&#34;-//Apple//DTD PLIST 1.0//EN&#34;</span></span><span class="code-snippet__meta"><span class="code-snippet__string">&#34;<a href="http://www.apple.com/DTDs/PropertyList-1.0.dtd" target="_blank">http://www.apple.com/DTDs/PropertyList-1.0.dtd</a>&#34;</span></span><span class="code-snippet__meta">&gt;</span></span></code><br/><code><span leaf=""><span class="code-snippet__tag">&lt;</span><span class="code-snippet__tag"><span class="code-snippet__name">plist</span></span><span class="code-snippet__tag"><span class="code-snippet__attr">version</span></span><span class="code-snippet__tag">=</span><span class="code-snippet__tag"><span class="code-snippet__string">&#34;1.0&#34;</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf=""><span class="code-snippet__tag">&lt;</span><span class="code-snippet__tag"><span class="code-snippet__name">dict</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf="">        <span class="code-snippet__tag">&lt;</span><span class="code-snippet__tag"><span class="code-snippet__name">key</span></span><span class="code-snippet__tag">&gt;</span>RKCertification<span class="code-snippet__tag">&lt;/</span><span class="code-snippet__tag"><span class="code-snippet__name">key</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf="">        <span class="code-snippet__tag">&lt;</span><span class="code-snippet__tag"><span class="code-snippet__name">data</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf="">        MIIExQIBAjxxxxxxxxP4C3sqQtP1S2hwBZzCoHcsoH2xNu5c+a4Q45oJ1MKF3BEEEiTxl</span></code><br/><code><span leaf="">        3JiRx7vW49DhREeRVU04QQBLnB7Lm7nI8+D2ayS/PMZ7rcmhC89px3xHSlAvDl2MQopT</span></code><br/><code><span leaf="">        SHXxnC/0Bs/6KgQQ1SciqWRdHp3U/vxi/S1O/wQQNpOm/5v25ojsX99XACzgpwSCBDHO</span></code><br/><code><span leaf="">        l9izvodcLU0pQSlaNXHlIp7nMLqh/QkyEI+a/YlGFaqTR/PgZbq4o37Rw6SCZQ+MjU2F</span></code><br/><code><span leaf="">        uzuq9O6sTaKVBcw4aDW0oPDmZgH5m1ZlDwvUqQFAy+OvNrO8L4D4zSo2lW8BRqR89jkx</span></code><br/><code><span leaf="">        WAixq12iERj/4+orIFAFGG86P/PnRRUsC8uR1tkqM4NpjXiLNUlO/X7VF1iY7g3nf5JS</span></code><br/><code><span leaf="">        uxAqGMNZ8eEXXHJ9I5XuPDC/B1BvpoM/Pk65CPRbaw5ojMr+McZ+IsuWQBb21dxMldAy</span></code><br/><code><span leaf="">        MMg5sFEt5+uIqWFaVyjFMfFCqYTfSofsyFQO8woaPegrmqFBVJRTGbbPkEDEVaWgLprd</span></code><br/><code><span leaf="">        VuoE8hkSvecWaBwsyNH0UmTLMOwrMHF12RLVPc6qChr4ki0FkIP9crLHhQwxVYeXgRpA</span></code><br/><code><span leaf="">        ClcA6uNFFa412RdhRhv5T88NBVRNu9ewCm3gWBnhMF10PltNVGJ1ZRjhZS0ghaVnqHpj</span></code><br/><code><span leaf="">        DA+2pnObaocLzgC9bOl0RExDwVwxLp7/hD/0jqZ+GqGSPgXYGY3FxnIB9n1e35KNjWaV</span></code><br/><code><span leaf="">        ur1WgHps5TEdi9LHxur2iqv5IkmxXNojxUoWprRc36RCBkurDLJiCM6Es8/63z1mZQ9h</span></code><br/><code><span leaf="">        a4iA5+u0PStVpCSjOJ/0gn01pIxxxeppomCsT6980+l1HYi7zsD/tBkOznpFwGS5Ki9h</span></code><br/><code><span leaf="">        RErTaCc2/9YGjgWVOBv1w5dEnBnwb1P59Qgpmnx3k9eyczaxt3OXOnKVwzYKtowI0OeD</span></code><br/><code><span leaf="">        F9jM1yN9KZVtAqQJM4H8N+W3f0w8x+PwYHUf/0AHdAK/WyUHObDkoPzZOY+N7aFvkSf8</span></code><br/><code><span leaf="">        aVcxC5MMCM6YFGpeDN9yoroti2mxxxelwDYx7Q8wuIeBBDiJfHRMWXxQEbej2XoYxGs4</span></code><br/><code><span leaf="">        tz8Qh0z5p0kL5bb5MERKHPkaIg+slVxEpoCAxCnNHiTHjK3gEXhgyxkiBmLO4ENSGDTp</span></code><br/><code><span leaf="">        +5PX64sez9Sb95ua6PhFFJYRXFgnp2IqffOoxx9Pxtxf7aKvpmlhPu+YGfbpz+mF+BSQ</span></code><br/><code><span leaf="">        Y0a/ybU0xySRCKfTlepT8J+3HGNGl6HmjKPMDgj1SIloAoNR+VATnMs0THe7ZZTYLI+m</span></code><br/><code><span leaf="">        bghSAHqDcjZCOWbRp19gSbUz71WU/sDAbN477biemxOYszVzS6cckGmmoDSLuav8RCSH</span></code><br/><code><span leaf="">        9h254xTGB5VzEjT5lqpsWJ0u+IJUW7gfCbkq1IGer5PdmVrzAluNTS4G85iHnXi3EKJB</span></code><br/><code><span leaf="">        wJ1upCRMjwlQRFlKP/SDo1TTQUa1kX0x+o1bFjvroyNKq+wL56PRQex22FzN00gsursF</span></code><br/><code><span leaf="">        dstdB+WPHde2jfeVmielZ+wxw59wEuE2CLeS5D1CLIEGYgsTyoLxl6QQ80UjaphhAuVA</span></code><br/><code><span leaf="">        A7HqcmXNe/6AOGdL42LHUhF23K5Fd55i8yaJP0sMwzY1e3nPbeunZmIiL1KiAFcKLzpm</span></code><br/><code><span leaf="">        cg==</span></code><br/><code><span leaf="">        <span class="code-snippet__tag">&lt;/</span><span class="code-snippet__tag"><span class="code-snippet__name">data</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf="">        <span class="code-snippet__tag">&lt;</span><span class="code-snippet__tag"><span class="code-snippet__name">key</span></span><span class="code-snippet__tag">&gt;</span>RKProperties<span class="code-snippet__tag">&lt;/</span><span class="code-snippet__tag"><span class="code-snippet__name">key</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf="">        <span class="code-snippet__tag">&lt;</span><span class="code-snippet__tag"><span class="code-snippet__name">data</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf="">        ff94bfwgfmVyc2lvbjxxxxxwIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBs</span></code><br/><code><span leaf="">        aXN0IFBVQkxJQyAiLSxxxxxwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3</span></code><br/><code><span leaf="">        dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJz</span></code><br/><code><span leaf="">        aW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+QXBwSUQ8L2tleT4KCTxzdHJpbmc+Y29tLmFw</span></code><br/><code><span leaf="">        cGxlLmRldmljZWNoZWNrZDwvf3RyaW5nPgoJPGtleT5Cb2FyZElkPC9rZXk+Cgk8aW50</span></code><br/><code><span leaf="">        ZWdlcj4yNDwvaW50ZWdlcj4KffxrZXk+QfFfZXffPC9rZXk+Cgk8aW50ZWdlcj4wPC9p</span></code><br/><code><span leaf="">        bnRlZ2VyPgoJPGtleT5DZXJ0VHlwZTwva2V5PgoJPGludGVnZXI+MDwvaW50ZWdlcj4K</span></code><br/><code><span leaf="">        CTxrZXk+Q2hpcElEPC9rZXk+Cgk8aW50ZWdlcj4zMzA0MDwvaW50ZWdlcj4KCTxrZXk+</span></code><br/><code><span leaf="">        TG9jYWxQb2xpY3k8L2tleT4KCTxkYXRhPgoJTUlJTVFCWUVTVTFITkRBVUZnUkpUVFJR</span></code><br/><code><span leaf="">        RmdSc2NHOXNGZ014TGpBRUFRQ2dnZfdfTUfJfUhCWUVTVTAwVFFJQkFER0MKCUFpUC9o</span></code><br/><code><span leaf="">        T3FGbkVLQ0Fob3dnZ0lXRmdSTlFxxUNNWUlDRFArRTZvV2NVSUlCbnpDQ0Fac1dCRTFC</span></code><br/><code><span leaf="">        VGxBeGdnR1IvNFNTCgl2YVJFQ3pBSkZnUkNUMUpFQWdFWS80U2FsYUJQQ3pBSkZnUkRS</span></code><br/><code><span leaf="">        VkJQQWdFQi80U2FvWkpRRFRBTEZnUkRTRWxRQWdNQQoJZ1JEL2hKckJwRThMTUFrV0JF</span></code><br/><code><span leaf="">        TlFVazhCQWYvL2hKck5pa01MTUFrV0JFTlRxVU1CQfWYvL2hLcU5ra1FSTUE4V0JFVkQK</span></code><br/><code><span leaf="">        CVNVUUNCeGhwb2p3Z0lCNy9oWnFSbmswTE1Ba1dCRk5FVDAwQ0FRSC9odU85eEc4TE1B</span></code><br/><code><span leaf="">        a1dCR3h2WW04QkFmLy9odlBOCgkwbWc2TURnV0JHNXphV2dFTUlQc0gwYlAybmtaaDNo</span></code><br/><code><span leaf="">        NVF3U2RXUU1CL0NoekZrWlMyczE0SxlWxnJTdDZwR2RlaDIvSgoJd3VnR2V4dFU5cWNm</span></code><br/><code><span leaf="">        Uy8rSGs3M2NhQ293S0JZRWNtOXVhQVFnU2srUmVVVnd1QWlCeEw0cWM5WmlZZUFFQ3Y1</span></code><br/><code><span leaf="">        OVN2dmwKCXk4SWhTM2ZaK2k3L2g1dkIwbWc2TURnV0JITndhV2dFTUo3V1ZSSWhWNU13</span></code><br/><code><span leaf="">        ZXlXa2VHdVo5STVSbUFSNGQycm9aZnFQCglmOE92aXljRkFjUEs0cHJDUXVTN3BSa3lB</span></code><br/><code><span leaf="">        WDQxVi8rSG04bnNiaDR3SEJZRWMzSjJiZ1FVRzIrWkp3aXFselVHSUkzQQoJVmZMcklJ</span></code><br/><code><span leaf="">        L3RkMGYvaDdQVjBtUWFNQmdXQkhaMWFXUUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC9o</span></code><br/><code><span leaf="">        dVBCM214ZE1Gc1cKCUJHeHdiMnd4VS8rRW9wMm1WRG93T0JZRVJFZFRWQVF3MFFGVU9N</span></code><br/><code><span leaf="">        U29rWEtqQkkxZXJyeXkzbVYzZGNacStHaVJhcWVXCglHUUk5Z29haFJoREhKZVNSem1m</span></code><br/><code><span leaf="">        MERMMVl0M2h5LzRTcXJZcFpDekFKRmdSRlMwVlpBUUgvQklJQ0FFRmdqK1krQkpheAoJ</span></code><br/><code><span leaf="">        MU1jS3dGQkdFMHpvcElKZkJWY2dKcG5MeDV2MFA2L1VsbG1jWmZYcnVYK2t1K2xRYm9H</span></code><br/><code><span leaf="">        UXBkQ3ZZcnp6K3l4bXVjS00KCWtDOXlJdlpzMndjMldrMzdDeHl4a1lXZ2UvckZmSERC</span></code><br/><code><span leaf="">        WFpQS3hTc1hIRFpkVXVjanFQbGlqVkJGV1pXekJjc0hQd2M3CgkyOFJUcTNWQU9aeG0x</span></code><br/><code><span leaf="">        RXo3RVFlVHRmUDFocDN0WEdic0xaMlZ0aVcyWG12VDFDeCsvajNCbnhnNGNtQy9EUjJW</span></code><br/><code><span leaf="">        SmpZaQoJUUx2V0dJSTNSVUY5cUEwL3BBeGcvQ3JCeXI4Zkx3Uk5QV2haOGMwRW04eVhi</span></code><br/><code><span leaf="">        U2MxZ1h2K0NlUnJJcVBNZXFWU1o3cGoKCXdGamlhTWlwRXEwRUJhQkcyOG9xNkNCZE9E</span></code><br/><code><span leaf="">        K1ZDUWxYSzBNOEdqUXZXc3FpcS9UVDRlQkVGV0NQTzRKLzU2bzE4WkxpCgk5OFdZaTQy</span></code><br/><code><span leaf="">        RVBLb0RHM0ZyTFhreWNWR0E0QTdnVlhIczBnS25TeWJEKzZmYlk0SGF5cWtpUEM4ZHl1</span></code><br/><code><span leaf="">        QWlUNXF5WThwUwoJdVp5TTY5aEs4dEJleFpiWDdiOFdEd29HVElzd3RST0d1SGZJbEpS</span></code><br/><code><span leaf="">        bXBIVXF2YnRUcWs4Qk42cFBwaHlNMlJqb1p4QmgKCXlBdzdEQ0M5Y0tuTkpnamhQTE91</span></code><br/><code><span leaf="">        aFRaUlU0aCtqMXo5WnY2UmdpSU44L21wTkxZV2pNMmtFWEw1eVRKbVhYVnBOcThICgll</span></code><br/><code><span leaf="">        UGx5VUF4TnF6dkFLVFpZQjMrODROOFF4ekF4bVk4eFFBcUpVb1ROWWVZSjZnSWZXcnFM</span></code><br/><code><span leaf="">        VktsRFdDcy9kUE5kc2xndwoJNHN4ci9xS09kcDI1cm5ST1hyK21Kc080Qm4rNkI2Vmhm</span></code><br/><code><span leaf="">        WndWWnpmT2VkN0toZ3dMaGxrSXRYY25UbEN0TUlJSDVEQ0MKCUIrQXdnZ1hJb0FNQ0FR</span></code><br/><code><span leaf="">        SUNFRDM5ajV5cU5WOXZVQ0xzTjAyRWRCOHdEUVlKS29aSWh2Y05BUUVNQlFBd1N6RW5N</span></code><br/><code><span leaf="">        Q1VHCglBMVVFQXd3ZVFYQndiR1VnVTJWamRYSmxJRUp2YjNRZ1VtOXZkQ0JEUVNBdElF</span></code><br/><code><span leaf="">        YzJNUk13RVFZRFZRUUtEQXBCY0hCcwoJWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpB</span></code><br/><code><span leaf="">        ZUZ3MHlNREEzTWpJeE9EQTJORGhhRncwek1EQTNNak14T0RBMk5EaGEKCU1GSXhMakFz</span></code><br/><code><span leaf="">        QmdOVkJBTU1KVlE0TVRFd0xWTkVUMDB4TFZKbFkyOTJaWEo1UW05dmRDMVNaWFpCTFVa</span></code><br/><code><span leaf="">        aFkzUnZjbmt4CglFekFSQmdOVkJBb01Da0Z3Y0d4bElFbHVZeTR4Q3pBSkJnTlZCQVlU</span></code><br/><code><span leaf="">        QWxWVE1JSUNJakFOQmdrcWhraUc5dzBCQVFFRgoJQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF5</span></code><br/><code><span leaf="">        aVFHMk1leXZJeFlCQThJdis1bVd0cG83SHJ6ZUdvdU1sSlR1SHFqbmNUYzdDVEYKCUlp</span></code><br/><code><span leaf="">        WlUvT1RMaVRoT2FsdS85L29rQnBqY2MyY0hVdXV6NFlMeUhRYkNFYzllam5MdTFhY2lY</span></code><br/><code><span leaf="">        Q3MvVHZaZmoyTFpScnZsCgk4Tk1xaTBrNUE5RHlUVGxzYnZWRDhXQmdIZ3VUN2MySjh2</span></code><br/><code><span leaf="">        N0tpUnM5MkZUWjZ6OGROK0ZPa1VjM3dTUnRiOFBaQ2QrWgoJREdXblpDYzZyZFlkOFRJ</span></code><br/><code><span leaf="">        WDhNK0dCYzhGeUVEaXFhUmNONmpNNzJkRkRDL0NCQjZxcmFKZDlEQ1VzRTdDVXJ5Zk02</span></code><br/><code><span leaf="">        VWYKCXpqbVNyTGNnSkZYSjhZK3k0N2VjaGcrY2RDTytOQThBYjQzL2E1N0xJaTBtT0JI</span></code><br/><code><span leaf="">        V2FIUytHTkExR3c3WkpqdHdNQXcvCgllbW9heXVNYXB6d1RlRjFNTW1qKzNTa0h2WEdT</span></code><br/><code><span leaf="">        T0JtcU5SYVBoT2hRd1p3bkpsaEhpSkNzaVl1dWJ3N3Bxa0MycytiYgoJekx3MkxNakEy</span></code><br/><code><span leaf="">        UUppQWdDOHJmU3VYb2RUT2EzRkxhK1RmSlJ4TjhoL3p2aEU5Wmk0RDNBeC8xQ2dBS1Qx</span></code><br/><code><span leaf="">        bTNXT3JtQ1AKCURVZDZKOXZ5c3plTWdlZ3RTWldHdU9oL1o1OGFDR1lROTFoMVdpYSt5</span></code><br/><code><span leaf="">        VHdvU1J4c1lYdTR5ZldkT0ZlelpYQjlzMmFqCglWUEFRKzI2eE8xWlRsR29CWXVHcU1y</span></code><br/><code><span leaf="">        TGEvaUV5S1J1UHpzZDVzcC9uU29wdE43dDQwS0h5Uy9KL1luT2RoZTltREdqUwoJMTZE</span></code><br/><code><span leaf="">        aFJBSjRWdHBubDFmeHhubFdNcXpJeUNTMWxtTDdWeWxMdkF1YkpKZTF6MGtaTm9CNWln</span></code><br/><code><span leaf="">        SFB5Q3V2ZW5FUVpSVkQKCUlBcFJ5YlpqSk9Pc1FoVUY3dGFYVUQwQ0F3RUFBYU9DQXJj</span></code><br/><code><span leaf="">        d2dnS3pNQXdHQTFVZEV3RUIvd1FDTUFBd0h3WURWUjBqCglCQmd3Rm9BVVU3ZUV0TEhv</span></code><br/><code><span leaf="">        T0R5Vzc2UldMdm96M1BFUWtPQXdIUVlxxlIwT0JCWUVGRlhYTkNqTWlaMzlYVFlGU3B0</span></code><br/><code><span leaf="">        TgoJTXFNRlNwcWNNQTRHQTFVZER3RUIvd1FFQXdJSGdEQ0NBbEVHQ2lxR1NJYjNZMlFH</span></code><br/><code><span leaf="">        QVE4QkFmOEVnZ0krTVlJQ092K0UKCTZvV2NVSUlCd1RDQ0FiMFdCRTFCVGxBeGdnR3ov</span></code><br/><code><span leaf="">        NFNTdVlaSUREQUtGZ1JDVGtOSW9RSUZBUCtFa3Iya1JBd3dDaFlFCglRazlTUktBQ0JR</span></code><br/><code><span leaf="">        RC9oSnFWb0U4TE1Ba1dCRU5GVUU4Q0FRSC9oSnFoa2xBTk1Bc1dCRU5JU1ZBQ0F3Q0JF</span></code><br/><code><span leaf="">        UCtFbXNHawoJVHd3d0NoWUVRMUJTVDZBQ0JxRCxxSnJxxWtNTU1Bb1dCRU5UUlVPZ0Fn</span></code><br/><code><span leaf="">        VUEvNFNxalpKRUREQUtGZ1JGUTBsRW9BSUYKCUFQK0ZtcEdlVFFzd0NSWUVVMFJQVFFJ</span></code><br/><code><span leaf="">        QkFmK0dpOVh3YVF3d0NoWUVZWFY0YWFFQ0JRRC9ob3ZWOEhBTU1Bb1dCR0YxCgllSENo</span></code><br/><code><span leaf="">        QWdVQS80Ymp2Y1J2Q3pBSkZnUnNiMkp2QVFILy80Ymp3ZHhvRERBS0ZnUnNjRzVvb1FJ</span></code><br/><code><span leaf="">        RkFQK0c4ODNTYUF3dwoJQ2hZRWJxxxBxS0FDQlFEL2g1TzkzR2dNTUFvV0JISnZibWln</span></code><br/><code><span leaf="">        QWdVQS80ZVR3ZHhvRERBS0ZnUnljRzVvb1FJRkFQK0gKCW02WGdNQXd3Q2hZRWMybHdN</span></code><br/><code><span leaf="">        S0VDQlFEL2g1dWw0REVNTUFvV0JITnBjREdoQWdVQS80ZWJwZUF5RERBS0ZnUnphWEF5</span></code><br/><code><span leaf="">        CglvUUlGQVArSG02WGdNd3d3Q2hZRWMybHdNNkVDQlFEL2g1dTF4REFNTUFvV0JITnRZ</span></code><br/><code><span leaf="">        akNoQWdVQS80ZWJ0Y1F4RERBSwoJRmdSemJXSXhvUUlGQVArSG03WEVNZ3d3Q2hZRWMy</span></code><br/><code><span leaf="">        MWlNcUVDQlFEL2g3UFYwbVFNTUFvV0JIWjFhV1NnQWdVQS80VDYKCWlaUlFhVEJuRmdS</span></code><br/><code><span leaf="">        UFFrcFFNVi8vaEtLZHBsUU1NQW9XQkVSSFUxU2dBZ1VBLzRTaXdhUlBEREFLRmdSRVVG</span></code><br/><code><span leaf="">        SlBvUUlGCglBUCtFb3MyS1F3d3dDaFlFUkZORlE2RUNCUUQvaEtyQnBFOE1NQW9XQkVW</span></code><br/><code><span leaf="">        UVVrK2hBZ1VBLzRTcXpZcEREREFLRmdSRgoJVTBWRG9RSUZBREFOQmdrcWhraUc5dzBC</span></code><br/><code><span leaf="">        QVF3RkFBT0NBZ0VBalRUWGVyeE9pMnRWbkNUdXBYR3ZJZW5FQWRLNnZKZ28KCVJaTFNo</span></code><br/><code><span leaf="">        TFo0NGFqNnYySS93V1NKblE1T1VBdGJaNEdiL1RSblZIOUV1dEtZZks0cC9GVlJOZVUv</span></code><br/><code><span leaf="">        c0w2UjRHZEI2TGV0CgkwbWNKWkpSN2xtaUtUQmtMaFBYcnZsaU9qM2hQRlMxWHhCNDBT</span></code><br/><code><span leaf="">        YzU2SlJ6L3REMlpjM1VPSmFNZDZza2YxR3FRd3BUaQoJUzgxVU5zS3JNVmtpc0R5YXYv</span></code><br/><code><span leaf="">        VWxTQmpKM1hyazBCMmN1YVNpVjRaUXhZaSs0ZjRaSXUyZDQ2Y3lBMEJ3YXhBd0UwNFkK</span></code><br/><code><span leaf="">        CU1OdDZVUXl2Y0R4VUxrMU5oUzhUbEtvMVJLczM3UWJxY2k4bUdMOU52M2N4NThjN3B4</span></code><br/><code><span leaf="">        czBNT2VKMVY1UmNtRGxxZWVLCgliTEtTc3BnUTRLNkFHaTJwL3VsckI0YWsxU3lZZGky</span></code><br/><code><span leaf="">        UVlMUUw5TmU3dHhlMXE3c0Zlcmw0RnluOVZGZ2F1aVIreGlvQgoJaXpMcFZWblNPa1RR</span></code><br/><code><span leaf="">        SGgzVEtNbVpEUS9MUDdscUNrcnVCOHZPRGYxV3dITzNOQityVTRXZlBZeERyazJqOWln</span></code><br/><code><span leaf="">        a1pDdzEKCStjVFdWMmozU2lIekk1WUQ5WGRWZmNpZklOTktiNnhhckhuODdpQkh2Rmgv</span></code><br/><code><span leaf="">        M3hKekVqUzZTclI2WEpRTi9RU0FTTXpMCglnVkZRUXFxaHM0N1ZRNmlOS0NjZnZpR21U</span></code><br/><code><span leaf="">        aXFoOE5vWVh1ZXUrME1Rdm5kb3NtcjUzelQzMEFTVWt0TTJnNFBKeDBuawoJUHN1dTVy</span></code><br/><code><span leaf="">        SVVaK3pKeWd6YjVmKzlhSXRHYkNUZEdwajM4YldYR0U3aWRXYTJuQlh6bnBVbDgyd3Fh</span></code><br/><code><span leaf="">        MlpWMHE1OFp2N20KCTBXY09ZWlRxcnVOSTcxRTVXd1duMWFCdzZQRlFOeG0xQlBOcFhS</span></code><br/><code><span leaf="">        MD0KCTwvZGF0YT4KCTxrZXk+T0lEU1RvSW5jbHVkZTwva2V5PgoJPGFycmF5PgoJCTxz</span></code><br/><code><span leaf="">        dHJpbmc+MS4yLjg0MC4xMTM2MzUuMTAwLjEwLjE8L3N0cmluZz4KCTwvYXJyYXk+Cgk8</span></code><br/><code><span leaf="">        a2V5Pk9zQnVpbGRWZXJzaW9uPC9rZXk+Cgk8c3RyaW5nPjIwRTI1Mjwvc3RyaW5nPgoJ</span></code><br/><code><span leaf="">        PGtleT5SS0NlcnRpZmljYXRpb25QdWI8L2tleT4KCTxkYXRhPgoJQkgvL3VxQ1FzNEE0</span></code><br/><code><span leaf="">        VElCdm1ZTWNJQkhiaGo1d0ZURkJaaDU3d2JkL0hTU25aSi9ZeE5YandIZ1FhZzlkandM</span></code><br/><code><span leaf="">        Vk84VjkKCS9DUHk2dDhmbURvbXM1TFpmYVE9Cgk8L2RhdGE+Cgk8a2V5PlNJS1B1Yjwv</span></code><br/><code><span leaf="">        a2V5PgoJPGRhdGE+CglCUHpXTnFSZk1MYmZCNTE0ZXorMWdXNG5vRzZxWGRMa3VySTYz</span></code><br/><code><span leaf="">        Y0NXSlRaall5cHVQVWIvUVZnNmJySUg5M2VUREd3QwoJMFJHTERuYjF3VjlPOHhSWkxM</span></code><br/><code><span leaf="">        ODVSNGdZMVJMeGw0ZnlmYkxLbzUrVHNoQk01bkYyckRlU0hMOG43cEFVOGc9PQoJPC9k</span></code><br/><code><span leaf="">        YXRhPgoJPGtleT5TZWN1cml0eURvbWFpbjwva2V5PgoJPGludGVnZXI+MTwvaW50ZWdl</span></code><br/><code><span leaf="">        cj4KCTxrZXk+U2VyaWFsTnVtYmVyPC9rZXk+Cgk8c3RyaW5nPkY2WDQzOU5IRjk8L3N0</span></code><br/><code><span leaf="">        cmluZz4KCTxrZXk+VUlLUHViPC9rZXk+Cgk8ZGF0YT4KCUJEOHVOckcvaWJvL1RzbVg5</span></code><br/><code><span leaf="">        a3JlVHZvS1N5WW1pZ2Z4UTJzTndTODVSb20rNy90TDBUM2toMlByTVlhWithZTlidWdq</span></code><br/><code><span leaf="">        CglNVWxFTkxFOHBGUTFaTjdmSkprPQoJPC9kYXRhPgoJPGtleT5VbmlxdWVDaGlwSUQ8</span></code><br/><code><span leaf="">        L2tleT4KCTxpbnRlZ2VyPjY4NzE1NDQ5NTU0MTI1MTA8L2ludGVnZXI+Cgk8a2V5PlZh</span></code><br/><code><span leaf="">        bGlkaXR5PC9rZXk+Cgk8aW50ZWdlcj40NDExODY8L2ludGVnZXI+Cgk8a2V5PnNjcnRB</span></code><br/><code><span leaf="">        dHRlc3RhdGlvbjwva2V5PgoJPGludGVnZXI+MDwvaW50ZWdlcj4KPC9kaWN0Pgo8L3Bs</span></code><br/><code><span leaf="">        aXN0Pgo=</span></code><br/><code><span leaf="">        <span class="code-snippet__tag">&lt;/</span><span class="code-snippet__tag"><span class="code-snippet__name">data</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf="">        <span class="code-snippet__tag">&lt;</span><span class="code-snippet__tag"><span class="code-snippet__name">key</span></span><span class="code-snippet__tag">&gt;</span>RKPropertiesSignature<span class="code-snippet__tag">&lt;/</span><span class="code-snippet__tag"><span class="code-snippet__name">key</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf="">        <span class="code-snippet__tag">&lt;</span><span class="code-snippet__tag"><span class="code-snippet__name">data</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf="">        MEYCIQD6alE5at+gOBxxxxxxYAIVZ6QwFJb7Q5lWdv/s95rSZAIhALu+7s0YPJu8LtN9</span></code><br/><code><span leaf="">        O19Svcb46Vhw2CKF9Txv7GNheg+6</span></code><br/><code><span leaf="">        <span class="code-snippet__tag">&lt;/</span><span class="code-snippet__tag"><span class="code-snippet__name">data</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf=""><span class="code-snippet__tag">&lt;/</span><span class="code-snippet__tag"><span class="code-snippet__name">dict</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/><code><span leaf=""><span class="code-snippet__tag">&lt;/</span><span class="code-snippet__tag"><span class="code-snippet__name">plist</span></span><span class="code-snippet__tag">&gt;</span></span></code><br/></pre></p><p data-pm-slice="0 0 []"><span leaf="">即使hook伪造 MGCopyAnswer获取的的设备 ID，也不能伪造成另一台真机，因为底层 attestation 必须由那台真机的 SE 自签。单纯在软件层面篡改 UniqueChipID 时，服务器端会发现 “你上报的设备 ID 和 attestation 里的（或服务器已有记录里的）设备硬件身份对不上”。</span></p><ul class="list-paddingleft-1"><li><p><span leaf="">返回激活证书</span></p></li></ul><p><span leaf="">服务验签没问题后会返回正常的激活两本证书</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="">-----BEGIN CERTIFICATE-----</span></code><br/><code><span leaf="">MIIDQTCCAuagAwIBAgIGAZrdcv7/MAoGCCqGSM49BAMCMFMxJzAlBgNVBAMMHkJh</span></code><br/><code><span leaf="">c2ljIEF0dGVzdGF0aW9uIFVzZXIgU3ViIENBMTETMBEGA1UECgwKQXBwbGUgSW5j</span></code><br/><code><span leaf="">LjETMBEGA1UECAwKQ2FsaWZvcm5pYTAeFw0yNTEyMDEwNTA0NTJaFw0yNjA3MzEx</span></code><br/><code><span leaf="">MTMzNTJaMIGRMUkwRwYDVQQDDEA4YmQzNmIxNWZkNGViODgxZjZlYzNlYzE1MjJh</span></code><br/><code><span leaf="">NjlhNzE2ZGY1YTIxNzAxZmZlNTc1NWUwMmQ0MmVjZWRhYTVjMRowGAYDVQQLDBFC</span></code><br/><code><span leaf="">QUEgQ2VydGlmaWNhdGlvbjETMBEGx1xECgwKQXBwbGUgSW5jLjETMBEGA1UECAwK</span></code><br/><code><span leaf="">Q2FsaWZvcm5pYTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAZRvBj8pkr4rDSb</span></code><br/><code><span leaf="">r4x137hYn/JvpfSXJpuvcTL0XXwhvK5s/TDrhpp07/n3Vo/1GDz3DyDjGbOdIci2</span></code><br/><code><span leaf="">6U4h54GjggFlMIIBYTAMBgNVHRMBAf8EAxxAMA4GA1UdDwEB/wQEAwIE8DCCAT8G</span></code><br/><code><span leaf="">CSqGSIb3Y2QKAQSCATAEggEsMYIBKP+EmqGsUA0wCxYEQ0hJUAIDAIEQ/4SqjZJE</span></code><br/><code><span leaf="">ETAPFgRFQ0lEAgcYaaI8ICAe/4SSvaRECzAJFgRCT1JEAgEY/4aTtcJjGzAZFgRi</span></code><br/><code><span leaf="">bWFjBBFhYzoxNjoxNTo2ZDphNToxZf+Gy7XKaRkwFxYEaW1laQQPMzU2MTI0NzE1</span></code><br/><code><span leaf="">MDY4NTU1/4ebydxtFDASFgRzcm5tBApGNlg0MzlOSEY5/4erkdJkIzAhFgR1ZGlk</span></code><br/><code><span leaf="">BBkwMDAwODExMC0wMDE4NjlBMjNDMjAyMDFF/4e7tcJjGzAZFgR3bWFjBBFhYzox</span></code><br/><code><span leaf="">NjoxNTo3OTo4ZTpmZf+Hm5XSZDowOBYEc2VpZAQwMDQyRDI3QzU4QTE2OTAwMjIz</span></code><br/><code><span leaf="">MzIwMTMxNzI0MDUyMjRGRDE3MkZCRUQxM0VFQzdCMAoGCCqGSM49BAMCA0kAMEYC</span></code><br/><code><span leaf="">IQCkVmdn5P6/mipbxpLOX7j9tTZ0ob4x2GzYsMeNF7mnwAIhAJgrskCv3xq9xR/Q</span></code><br/><code><span leaf="">CaBYl+b8Ju0i2Jk5xxxxxxxxxx=</span></code><br/><code><span leaf="">-----END CERTIFICATE-----</span></code><br/><code><span leaf="">-----BEGIN CERTIFICATE-----</span></code><br/><code><span leaf="">MIICIzCCAaigAwIBAgIIeNjhG9tnDGgwCxxIKxZIzj0EAwIwUzEnMCUGA1UEAwwe</span></code><br/><code><span leaf="">QmFzaWMgQXR0ZXN0YXRpb24gVXNlciBSb290IENBMRMwEQYDVQQKDApBcHBsZSBJ</span></code><br/><code><span leaf="">bmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMB4XDTE3MDQyMDAwNDIwMFoXDTMyMDMy</span></code><br/><code><span leaf="">MjAwMDAwMFowUzEnMCUGA1UEAwweQmFzaWMgQXR0ZXN0YXRpb24gVXNlciBTdWIg</span></code><br/><code><span leaf="">Q0ExMRMwEQYDVQQKDApBcHBsZSBJbmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMFkw</span></code><br/><code><span leaf="">EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoSZ/1t9eBAEVp5a8PrXacmbGb8zNC1X3</span></code><br/><code><span leaf="">StLI9YO6Y0CL7blHmSGmjGWTwD4Q+i0J2BY3+bPHTGRyA9jGB3MSbaNmMGQwEgYD</span></code><br/><code><span leaf="">VR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBSD5aMhnrB0w/lhkP2XTiMQdqSj</span></code><br/><code><span leaf="">8jAdBgNVHQ4EFgQU5mWf1DYLTXUdQ9xmOH/uqeNSD80wDgYDVR0PAQH/BAQDAgEG</span></code><br/><code><span leaf="">MAoGCCqGSM49BAMCA2kAMGYCMQC3M360LLtJS60Z9q3vVjJxMgMcFQ1roGTUcKqv</span></code><br/><code><span leaf="">W+4hJ4CeJjySXTgq6IEHn/yWab4CMQCm5NnK6SOSK+AqWum9lL87W3E6AA1f2TvJ</span></code><br/><code><span leaf="">/hgok/34jr93nhS87tOQNdxDS8xxxx=</span></code><br/><code><span leaf="">-----END CERTIFICATE-----</span></code><br/></pre></p><p data-pm-slice="0 0 []"><span leaf="">这两本证书就是后面用于计算DeviceCheck Token的，格式解析如下：</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.8175925925925925" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="100000465" src="https://wechat2rss.xlab.app/img-proxy/?k=cd176e62&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FN0ibNguSP6ibVF3rUTMdECvuoW8uaEqpVZWQLd2EFX1Msm2ibhA6WXwjk4WRmJ1mxJeM9oMibvCP6nibhdY0lEVwiaJA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p data-pm-slice="0 0 []"><span leaf="">验证证书有效后缓存在本地keychain，后面计算DeviceCheck Token时会有用到。</span></p><h3 data-pm-slice="0 0 []"><span leaf="">2.4、修改设备硬件信息激活验证测试</span></h3><ul class="list-paddingleft-1"><li><p><span leaf="">修改全部设备信息</span></p></li></ul><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="javascript"><code><span leaf="">    <span class="code-snippet__comment">// ========= 0. Hook MGCopyAnswer =========</span></span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">var</span> g_mgCopyAnswerHooked = <span class="code-snippet__literal">false</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">var</span> mgJsCache = {</span></code><br/><code><span leaf="">        <span class="code-snippet__title">UniqueChipID</span>:    <span class="code-snippet__literal">null</span>,</span></code><br/><code><span leaf="">        <span class="code-snippet__title">ChipID</span>:          <span class="code-snippet__literal">null</span>,</span></code><br/><code><span leaf="">        <span class="code-snippet__title">BoardId</span>:         <span class="code-snippet__literal">null</span>,</span></code><br/><code><span leaf="">        <span class="code-snippet__title">SecurityDomain</span>:  <span class="code-snippet__literal">null</span>,</span></code><br/><code><span leaf="">        <span class="code-snippet__title">SerialNumber</span>:    <span class="code-snippet__literal">null</span>,</span></code><br/><code><span leaf="">        <span class="code-snippet__title">BuildVersion</span>:    <span class="code-snippet__literal">null</span>,</span></code><br/><code><span leaf="">        <span class="code-snippet__title">UniqueDeviceID</span>:  <span class="code-snippet__literal">null</span></span></code><br/><code><span leaf="">    };</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">function</span> <span class="code-snippet__title">hookGestatcopyAnswer</span>() {</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">try</span> {</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">if</span> (g_mgCopyAnswerHooked) {</span></code><br/><code><span leaf="">                <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[*] MGCopyAnswer already hooked&#34;</span>);</span></code><br/><code><span leaf="">                <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">            }</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">var</span> mgCopyAnswer = <span class="code-snippet__title">Module</span>.<span class="code-snippet__title">findExportByName</span>(<span class="code-snippet__literal">null</span>, <span class="code-snippet__string">&#34;MGCopyAnswer&#34;</span>);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">if</span> (!mgCopyAnswer) {</span></code><br/><code><span leaf="">                <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">error</span>(<span class="code-snippet__string">&#34;[-] MGCopyAnswer not found&#34;</span>);</span></code><br/><code><span leaf="">                <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">            }</span></code><br/><code><span leaf="">            <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[+] MGCopyAnswer =&#34;</span>, mgCopyAnswer);</span></code><br/><code><span leaf="">            <span class="code-snippet__title">Interceptor</span>.<span class="code-snippet__title">attach</span>(mgCopyAnswer, {</span></code><br/><code><span leaf="">                <span class="code-snippet__attr">onEnter</span>: <span class="code-snippet__keyword">function</span> (<span class="code-snippet__params">args</span>) {</span></code><br/><code><span leaf="">                    <span class="code-snippet__variable">this</span>.<span class="code-snippet__property">keyStr</span> = <span class="code-snippet__literal">null</span>;</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">try</span> {</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">var</span> keyObj = <span class="code-snippet__keyword">new</span> <span class="code-snippet__title">ObjC</span>.<span class="code-snippet__title">Object</span>(args[<span class="code-snippet__number">0</span>]);</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">var</span> ks = keyObj.<span class="code-snippet__title">toString</span>();</span></code><br/><code><span leaf="">                        <span class="code-snippet__variable">this</span>.<span class="code-snippet__property">keyStr</span> = ks;</span></code><br/><code><span leaf="">                        <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[MGCopyAnswer] key =&#34;</span>, ks);</span></code><br/><code><span leaf="">                    } <span class="code-snippet__keyword">catch</span> (e) {</span></code><br/><code><span leaf="">                        <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[MGCopyAnswer] key (raw) =&#34;</span>, args[<span class="code-snippet__number">0</span>], <span class="code-snippet__string">&#34;err:&#34;</span>, e);</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                },</span></code><br/><code><span leaf="">                <span class="code-snippet__attr">onLeave</span>: <span class="code-snippet__keyword">function</span> (<span class="code-snippet__params">retval</span>) {</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">var</span> keyStr = <span class="code-snippet__variable">this</span>.<span class="code-snippet__property">keyStr</span>;</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">var</span> origDesc;</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">try</span> {</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">var</span> origObj = <span class="code-snippet__keyword">new</span> <span class="code-snippet__title">ObjC</span>.<span class="code-snippet__title">Object</span>(retval);</span></code><br/><code><span leaf="">                        origDesc = origObj.<span class="code-snippet__title">toString</span>();</span></code><br/><code><span leaf="">                    } <span class="code-snippet__keyword">catch</span> (e) {</span></code><br/><code><span leaf="">                        origDesc = <span class="code-snippet__string">&#34;&lt;raw&gt; &#34;</span> + retval;</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                    <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[MGCopyAnswer] orig =&gt;&#34;</span>, origDesc);</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">if</span> (!<span class="code-snippet__variable">CONFIG</span>.<span class="code-snippet__property">patchMGCopyAnswer</span> || !keyStr) {</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">try</span> {</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">var</span> <span class="code-snippet__title">NSString</span> = <span class="code-snippet__title">ObjC</span>.<span class="code-snippet__property">classes</span>.<span class="code-snippet__property">NSString</span>;</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">var</span> <span class="code-snippet__title">NSNumber</span> = <span class="code-snippet__title">ObjC</span>.<span class="code-snippet__property">classes</span>.<span class="code-snippet__property">NSNumber</span>;</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">var</span> <span class="code-snippet__variable">NSUUID</span>   = <span class="code-snippet__title">ObjC</span>.<span class="code-snippet__property">classes</span>.<span class="code-snippet__property">NSUUID</span>;</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">var</span> fakeObj  = <span class="code-snippet__literal">null</span>;</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">var</span> fixed    = <span class="code-snippet__variable">CONFIG</span>.<span class="code-snippet__property">fixedMG</span> || {};</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">var</span> useFixed = <span class="code-snippet__variable">CONFIG</span>.<span class="code-snippet__property">useFixedMGValues</span> === <span class="code-snippet__literal">true</span>;</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">switch</span> (keyStr) {</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;UniqueChipID&#34;</span>:</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;Uniquechipid&#34;</span>: {</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> v;</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">if</span> (useFixed &amp;&amp; fixed.<span class="code-snippet__property">UniqueChipID</span> !== <span class="code-snippet__literal">undefined</span>) {</span></code><br/><code><span leaf="">                                    v = <span class="code-snippet__title">Number</span>(fixed.<span class="code-snippet__property">UniqueChipID</span>);</span></code><br/><code><span leaf="">                                } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                    <span class="code-snippet__keyword">if</span> (mgJsCache.<span class="code-snippet__property">UniqueChipID</span> === <span class="code-snippet__literal">null</span>) {</span></code><br/><code><span leaf="">                                        mgJsCache.<span class="code-snippet__property">UniqueChipID</span> = (<span class="code-snippet__title">Math</span>.<span class="code-snippet__title">floor</span>(<span class="code-snippet__title">Math</span>.<span class="code-snippet__title">random</span>() * <span class="code-snippet__number">0xFFFFFFFF</span>) &gt;&gt;&gt; <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">                                    }</span></code><br/><code><span leaf="">                                    v = mgJsCache.<span class="code-snippet__property">UniqueChipID</span>;</span></code><br/><code><span leaf="">                                }</span></code><br/><code><span leaf="">                                fakeObj = <span class="code-snippet__title">NSNumber</span>.<span class="code-snippet__title">numberWithLongLong_</span>(v);</span></code><br/><code><span leaf="">                                fakeObj.<span class="code-snippet__title">retain</span>();</span></code><br/><code><span leaf="">                                <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[*] override UniqueChipID =&gt;&#34;</span>, fakeObj.<span class="code-snippet__title">toString</span>());</span></code><br/><code><span leaf="">                                retval.<span class="code-snippet__title">replace</span>(fakeObj.<span class="code-snippet__property">handle</span>);</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">                            }</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;ChipID&#34;</span>:</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;Chipid&#34;</span>: {</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> cVal;</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">if</span> (useFixed &amp;&amp; fixed.<span class="code-snippet__property">ChipID</span> !== <span class="code-snippet__literal">undefined</span>) {</span></code><br/><code><span leaf="">                                    cVal = <span class="code-snippet__title">Number</span>(fixed.<span class="code-snippet__property">ChipID</span>);</span></code><br/><code><span leaf="">                                } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                    <span class="code-snippet__keyword">if</span> (mgJsCache.<span class="code-snippet__property">ChipID</span> === <span class="code-snippet__literal">null</span>) {</span></code><br/><code><span leaf="">                                        mgJsCache.<span class="code-snippet__property">ChipID</span> = (<span class="code-snippet__number">0x2000</span> + <span class="code-snippet__title">Math</span>.<span class="code-snippet__title">floor</span>(<span class="code-snippet__title">Math</span>.<span class="code-snippet__title">random</span>() * <span class="code-snippet__number">0x1000</span>)) &gt;&gt;&gt; <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">                                    }</span></code><br/><code><span leaf="">                                    cVal = mgJsCache.<span class="code-snippet__property">ChipID</span>;</span></code><br/><code><span leaf="">                                }</span></code><br/><code><span leaf="">                                fakeObj = <span class="code-snippet__title">NSNumber</span>.<span class="code-snippet__title">numberWithUnsignedInt_</span>(cVal &gt;&gt;&gt; <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">                                fakeObj.<span class="code-snippet__title">retain</span>();</span></code><br/><code><span leaf="">                                <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[*] override ChipID =&gt;&#34;</span>, fakeObj.<span class="code-snippet__title">toString</span>());</span></code><br/><code><span leaf="">                                retval.<span class="code-snippet__title">replace</span>(fakeObj.<span class="code-snippet__property">handle</span>);</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">                            }</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;BoardId&#34;</span>:</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;BoardID&#34;</span>: {</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> bVal;</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">if</span> (useFixed &amp;&amp; fixed.<span class="code-snippet__property">BoardId</span> !== <span class="code-snippet__literal">undefined</span>) {</span></code><br/><code><span leaf="">                                    bVal = <span class="code-snippet__title">Number</span>(fixed.<span class="code-snippet__property">BoardId</span>);</span></code><br/><code><span leaf="">                                } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                    <span class="code-snippet__keyword">if</span> (mgJsCache.<span class="code-snippet__property">BoardId</span> === <span class="code-snippet__literal">null</span>) {</span></code><br/><code><span leaf="">                                        mgJsCache.<span class="code-snippet__property">BoardId</span> = <span class="code-snippet__number">10</span> + <span class="code-snippet__title">Math</span>.<span class="code-snippet__title">floor</span>(<span class="code-snippet__title">Math</span>.<span class="code-snippet__title">random</span>() * <span class="code-snippet__number">20</span>);</span></code><br/><code><span leaf="">                                    }</span></code><br/><code><span leaf="">                                    bVal = mgJsCache.<span class="code-snippet__property">BoardId</span>;</span></code><br/><code><span leaf="">                                }</span></code><br/><code><span leaf="">                                fakeObj = <span class="code-snippet__title">NSNumber</span>.<span class="code-snippet__title">numberWithUnsignedInt_</span>(bVal &gt;&gt;&gt; <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">                                fakeObj.<span class="code-snippet__title">retain</span>();</span></code><br/><code><span leaf="">                                <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[*] override BoardId =&gt;&#34;</span>, fakeObj.<span class="code-snippet__title">toString</span>());</span></code><br/><code><span leaf="">                                retval.<span class="code-snippet__title">replace</span>(fakeObj.<span class="code-snippet__property">handle</span>);</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">                            }</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;SecurityDomain&#34;</span>:</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;Securitydomain&#34;</span>: {</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> sVal;</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">if</span> (useFixed &amp;&amp; fixed.<span class="code-snippet__property">SecurityDomain</span> !== <span class="code-snippet__literal">undefined</span>) {</span></code><br/><code><span leaf="">                                    sVal = <span class="code-snippet__title">Number</span>(fixed.<span class="code-snippet__property">SecurityDomain</span>);</span></code><br/><code><span leaf="">                                } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                    <span class="code-snippet__keyword">if</span> (mgJsCache.<span class="code-snippet__property">SecurityDomain</span> === <span class="code-snippet__literal">null</span>) {</span></code><br/><code><span leaf="">                                        mgJsCache.<span class="code-snippet__property">SecurityDomain</span> = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">                                    }</span></code><br/><code><span leaf="">                                    sVal = mgJsCache.<span class="code-snippet__property">SecurityDomain</span>;</span></code><br/><code><span leaf="">                                }</span></code><br/><code><span leaf="">                                fakeObj = <span class="code-snippet__title">NSNumber</span>.<span class="code-snippet__title">numberWithUnsignedInt_</span>(sVal &gt;&gt;&gt; <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">                                fakeObj.<span class="code-snippet__title">retain</span>();</span></code><br/><code><span leaf="">                                <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[*] override SecurityDomain =&gt;&#34;</span>, fakeObj.<span class="code-snippet__title">toString</span>());</span></code><br/><code><span leaf="">                                retval.<span class="code-snippet__title">replace</span>(fakeObj.<span class="code-snippet__property">handle</span>);</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">                            }</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;SerialNumber&#34;</span>:</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;Serialnumber&#34;</span>: {</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> sn;</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">if</span> (useFixed &amp;&amp; fixed.<span class="code-snippet__property">SerialNumber</span>) {</span></code><br/><code><span leaf="">                                    sn = fixed.<span class="code-snippet__property">SerialNumber</span>.<span class="code-snippet__title">toString</span>();</span></code><br/><code><span leaf="">                                } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                    <span class="code-snippet__keyword">if</span> (mgJsCache.<span class="code-snippet__property">SerialNumber</span> === <span class="code-snippet__literal">null</span>) {</span></code><br/><code><span leaf="">                                        mgJsCache.<span class="code-snippet__property">SerialNumber</span> = <span class="code-snippet__string">&#34;F&#34;</span> + <span class="code-snippet__title">randHex</span>(<span class="code-snippet__number">11</span>);</span></code><br/><code><span leaf="">                                    }</span></code><br/><code><span leaf="">                                    sn = mgJsCache.<span class="code-snippet__property">SerialNumber</span>;</span></code><br/><code><span leaf="">                                }</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> snCStr = <span class="code-snippet__title">Memory</span>.<span class="code-snippet__title">allocUtf8String</span>(sn);</span></code><br/><code><span leaf="">                                fakeObj = <span class="code-snippet__title">NSString</span>.<span class="code-snippet__title">stringWithUTF8String_</span>(snCStr);</span></code><br/><code><span leaf="">                                fakeObj.<span class="code-snippet__title">retain</span>();</span></code><br/><code><span leaf="">                                <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[*] override SerialNumber =&gt;&#34;</span>, fakeObj.<span class="code-snippet__title">toString</span>());</span></code><br/><code><span leaf="">                                retval.<span class="code-snippet__title">replace</span>(fakeObj.<span class="code-snippet__property">handle</span>);</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">                            }</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;BuildVersion&#34;</span>:</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;Buildversion&#34;</span>: {</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> bv;</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">if</span> (useFixed &amp;&amp; fixed.<span class="code-snippet__property">BuildVersion</span>) {</span></code><br/><code><span leaf="">                                    bv = fixed.<span class="code-snippet__property">BuildVersion</span>.<span class="code-snippet__title">toString</span>();</span></code><br/><code><span leaf="">                                } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                    <span class="code-snippet__keyword">if</span> (mgJsCache.<span class="code-snippet__property">BuildVersion</span> === <span class="code-snippet__literal">null</span>) {</span></code><br/><code><span leaf="">                                        mgJsCache.<span class="code-snippet__property">BuildVersion</span> = <span class="code-snippet__string">&#34;20&#34;</span> + <span class="code-snippet__title">randHex</span>(<span class="code-snippet__number">4</span>);</span></code><br/><code><span leaf="">                                    }</span></code><br/><code><span leaf="">                                    bv = mgJsCache.<span class="code-snippet__property">BuildVersion</span>;</span></code><br/><code><span leaf="">                                }</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> bvCStr = <span class="code-snippet__title">Memory</span>.<span class="code-snippet__title">allocUtf8String</span>(bv);</span></code><br/><code><span leaf="">                                fakeObj = <span class="code-snippet__title">NSString</span>.<span class="code-snippet__title">stringWithUTF8String_</span>(bvCStr);</span></code><br/><code><span leaf="">                                fakeObj.<span class="code-snippet__title">retain</span>();</span></code><br/><code><span leaf="">                                <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[*] override BuildVersion =&gt;&#34;</span>, fakeObj.<span class="code-snippet__title">toString</span>());</span></code><br/><code><span leaf="">                                retval.<span class="code-snippet__title">replace</span>(fakeObj.<span class="code-snippet__property">handle</span>);</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">                            }</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">case</span> <span class="code-snippet__string">&#34;UniqueDeviceID&#34;</span>: {</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> udid;</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">if</span> (useFixed &amp;&amp; fixed.<span class="code-snippet__property">UniqueDeviceID</span>) {</span></code><br/><code><span leaf="">                                    udid = fixed.<span class="code-snippet__property">UniqueDeviceID</span>.<span class="code-snippet__title">toString</span>();</span></code><br/><code><span leaf="">                                } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                    <span class="code-snippet__keyword">if</span> (mgJsCache.<span class="code-snippet__property">UniqueDeviceID</span> === <span class="code-snippet__literal">null</span>) {</span></code><br/><code><span leaf="">                                        <span class="code-snippet__keyword">var</span> uuidObj = <span class="code-snippet__variable">NSUUID</span>.<span class="code-snippet__title">UUID</span>();</span></code><br/><code><span leaf="">                                        mgJsCache.<span class="code-snippet__property">UniqueDeviceID</span> = uuidObj.<span class="code-snippet__title">UUIDString</span>().<span class="code-snippet__title">toString</span>();</span></code><br/><code><span leaf="">                                    }</span></code><br/><code><span leaf="">                                    udid = mgJsCache.<span class="code-snippet__property">UniqueDeviceID</span>;</span></code><br/><code><span leaf="">                                }</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">var</span> udidCStr = <span class="code-snippet__title">Memory</span>.<span class="code-snippet__title">allocUtf8String</span>(udid);</span></code><br/><code><span leaf="">                                fakeObj = <span class="code-snippet__title">NSString</span>.<span class="code-snippet__title">stringWithUTF8String_</span>(udidCStr);</span></code><br/><code><span leaf="">                                fakeObj.<span class="code-snippet__title">retain</span>();</span></code><br/><code><span leaf="">                                <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[*] override UniqueDeviceID =&gt;&#34;</span>, fakeObj.<span class="code-snippet__title">toString</span>());</span></code><br/><code><span leaf="">                                retval.<span class="code-snippet__title">replace</span>(fakeObj.<span class="code-snippet__property">handle</span>);</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">                            }</span></code><br/><code><span leaf="">                            <span class="code-snippet__attr">default</span>:</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">                        }</span></code><br/><code><span leaf="">                    } <span class="code-snippet__keyword">catch</span> (e) {</span></code><br/><code><span leaf="">                        <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[-] MGCopyAnswer patch error:&#34;</span>, e);</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                }</span></code><br/><code><span leaf="">            });</span></code><br/><code><span leaf="">            g_mgCopyAnswerHooked = <span class="code-snippet__literal">true</span>;</span></code><br/><code><span leaf="">            <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">log</span>(<span class="code-snippet__string">&#34;[+] Hooked MGCopyAnswer (patch =&#34;</span>, <span class="code-snippet__variable">CONFIG</span>.<span class="code-snippet__property">patchMGCopyAnswer</span>,</span></code><br/><code><span leaf="">                        <span class="code-snippet__string">&#34;, useFixed =&#34;</span>, <span class="code-snippet__variable">CONFIG</span>.<span class="code-snippet__property">useFixedMGValues</span>, <span class="code-snippet__string">&#34;)&#34;</span>);</span></code><br/><code><span leaf="">        } <span class="code-snippet__keyword">catch</span> (e) {</span></code><br/><code><span leaf="">            <span class="code-snippet__variable">console</span>.<span class="code-snippet__title">error</span>(<span class="code-snippet__string">&#34;[-] hookGestatcopyAnswer failed:&#34;</span>, e.<span class="code-snippet__property">stack</span> || e);</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">    }</span></code><br/></pre></p><p data-pm-slice="0 0 []"><span leaf="">全部更改设备信息服务器会返回错误</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="">-----BEGIN ERROR-----</span></code><br/><code><span leaf=""><span class="code-snippet__number">93</span>:UCRT SCRT SEAL <span class="code-snippet__keyword">from</span> tabasco <span class="code-snippet__keyword">is</span> <span class="code-snippet__literal">null</span>.</span></code><br/><code><span leaf="">-----END ERROR-----</span></code><br/></pre></p><p data-pm-slice="0 0 []"><span leaf="">站在苹果服务器的角度，它收到这些东西之后，大概会做这样几步检测：</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="markdown"><code><span leaf=""><span class="code-snippet__bullet">1.</span> 验证 SE attestation（由 Apple 根证书/中间证书链签的）：</span></code><br/><code><span leaf="">   - 检查证书链是否正确、未过期、签名有效</span></code><br/><code><span leaf="">   - 从 attestation blob 里取出：</span></code><br/><code><span leaf="">       * 这个 key 所在的“安全硬件身份”：比如 Secure Enclave 的某个 ID</span></code><br/><code><span leaf="">       * 跟这一块硬件绑定的标识：UniqueChipID/ChipID/SecurityDomain/...（以某种形式存在）</span></code><br/><code><span leaf=""><span class="code-snippet__bullet">2.</span> 验证 RKPropertiesSignature：</span></code><br/><code><span leaf="">   - 用 attestation 里证明的那把 refKey 的 “公钥” 去验签 RKPropertiesSignature</span></code><br/><code><span leaf="">   - 确认：RKProperties 确实是 <span class="code-snippet__strong">**同一个 SE 里那把 refKey**</span> 签出来的，</span></code><br/><code><span leaf="">           而不是你在用户态自己随便弄的 key。</span></code><br/><code><span leaf=""><span class="code-snippet__bullet">3.</span> 一致性检查：</span></code><br/><code><span leaf="">   - 从 attestation / 后端数据库里得到的“真实硬件 ID” 记为 H = {U<span class="code-snippet__emphasis">_real, ChipID_</span>real, ...}</span></code><br/><code><span leaf="">   - 从 RKProperties 里解析出你上报的 ID 记为 S = {U<span class="code-snippet__emphasis">_reported, ChipID_</span>reported, ...}</span></code><br/><code><span leaf="">   然后做类似：</span></code><br/><code><span leaf="">       if U<span class="code-snippet__emphasis">_reported != U_</span>real or ChipID<span class="code-snippet__emphasis">_reported != ChipID_</span>real ...</span></code><br/><code><span leaf="">           =&gt; 认为这是“篡改 / 不一致”，直接拒绝，后面的 UCRT/SCRT/SEAL 都不下发</span></code><br/></pre></p><ul class="list-paddingleft-1"><li><p><span leaf="">修改部分真实设备信息</span></p><p><span leaf="">其它字段随机、只保留UniqueChipID、ChipID不改，正常返回证书；</span></p><p><span leaf="">说明SE中对UniqueChipID、ChipID进行了签名，服务器端做检验。</span></p></li><li><p><span leaf="">A手机信息替换为B手机</span></p><p><span leaf="">将A手机的UniqueChipID、ChipID替换到B手机，返回如下：</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="diff"><code><span leaf=""><span class="code-snippet__comment">-----BEGIN ERROR-----</span></span></code><br/><code><span leaf="">29:ECC signature verification failed: signature incorrect.</span></code><br/><code><span leaf=""><span class="code-snippet__comment">-----END ERROR-----</span></span></code><br/></pre></p></li><ul class="list-paddingleft-1"></ul><ul class="list-paddingleft-1"></ul><ul class="list-paddingleft-1"></ul><ul class="list-paddingleft-1"></ul><ul class="list-paddingleft-1"></ul><ul class="list-paddingleft-1"></ul><ul class="list-paddingleft-1"></ul><ul class="list-paddingleft-1"></ul><li><p><span leaf="">整体流程与修改信息验证流程</span></p></li></ul><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="2.2268518518518516" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="100000466" src="https://wechat2rss.xlab.app/img-proxy/?k=f8b10c78&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FN0ibNguSP6ibVF3rUTMdECvuoW8uaEqpVZuGmwjtKmiaxLW1pB1WPBSol5kabibIyg2EXPKiaGVSiatK0Vicp0O9icibWpQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><ul class="list-paddingleft-1"><li><p><span leaf="">修改设备信息验证流程</span></p></li></ul><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.712037037037037" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="100000467" src="https://wechat2rss.xlab.app/img-proxy/?k=e5ac6977&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FN0ibNguSP6ibVF3rUTMdECvuoW8uaEqpVZD2pexXopkz0yKGMKfLcyaz1B6hUGov7VUmd33NNFfGLKscqMlSma3w%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><ul class="list-paddingleft-1"><li><p><span leaf="">结论</span></p></li></ul><p><span leaf="">从上面验证情况来看，硬ID与SE 里的证书是绑定的。SE 里的“根密钥”和“设备证书”是在出厂生产 / 校准阶段由 Apple 写入硬件安全区的，属于“出厂级”的东西。</span></p><p><span leaf="">我改的 MobileGestalt 层（UniqueChipID/ChipID）只是“软件视角的 ID”，并不会改变 SE 里真实的密钥和它生成的签名，所以软改实现激活大概率是不可行的。</span></p><h2 data-pm-slice="0 0 []"><span leaf="">三、DeviceCheck 架构与正向流程</span></h2><p><span leaf="">DeviceCheck 的工作流程涉及三方交互：客户端 App、系统守护进程 </span><code><span leaf="">devicecheckd</span></code><span leaf=""> 以及 Apple 服务器。整体流程如下：</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.8666666666666667" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="100000468" src="https://wechat2rss.xlab.app/img-proxy/?k=2e451fa2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FN0ibNguSP6ibVF3rUTMdECvuoW8uaEqpVZJ6DicsVp4sNXiaqqG3AKVRCrwibshauHo1pbdtcrIzdfUJGrJ5B6Op4Cw%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h3 data-pm-slice="0 0 []"><span leaf="">3.1 核心组件</span></h3><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">客户端 (App)</span></strong><span leaf="">：通过 </span><code><span leaf="">DCDevice</span></code><span leaf=""> 类发起 Token 生成请求。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">守护进程 (devicecheckd)</span></strong><span leaf="">：iOS 系统内置的守护进程，负责与硬件安全模块（Secure Enclave）通信，执行核心加密操作。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">Apple Server</span></strong><span leaf="">：接收 Token，验证其合法性，并根据 Token 更新或查询设备的 2-bit 状态。</span></p></li></ul><h3><span leaf="">3.2 bit 状态存储机制</span></h3><p><span leaf="">DeviceCheck 允许开发者为每个设备-App 组合存储两个二进制位（00, 01, 10, 11）。</span></p><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">Bit 0</span></strong><span leaf="">：通常用于标记“是否已领取新人优惠”。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">Bit 1</span></strong><span leaf="">：通常用于标记“是否为违规设备”或“是否被封禁”。 由于这两个位是存储在 Apple 服务器上的，且与硬件强绑定，因此单纯的重置 IDFA 或卸载 App 无法清除这些标记。</span></p></li></ul><h3><span leaf="">3.3 正向调用流程</span></h3><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">App 调用 </span><code><span leaf="">[DCDevice generateTokenWithCompletionHandler:]</span></code><span leaf="">。</span></p></li><li style="text-align:left;"><p><span leaf="">请求通过 XPC（跨进程通信）被转发给系统的 </span><code><span leaf="">com.apple.devicecheckd</span></code><span leaf=""> 服务。</span></p></li><li style="text-align:left;"><p><code><span leaf="">devicecheckd</span></code><span leaf=""> 调用底层硬件接口生成加密的 Base64 Token。</span></p></li><li style="text-align:left;"><p><span leaf="">App 将 Token 发送给开发者的业务服务器。</span></p></li><li style="text-align:left;"><p><span leaf="">业务服务器调用 Apple API（</span><code><span leaf="">update_two_bits</span></code><span leaf=""> 或 </span><code><span leaf="">query_two_bits</span></code><span leaf="">），验证 Token 并读写状态。</span></p></li></ul><h2><span leaf="">四、逆向分析：揭秘 devicecheckd</span></h2><p><span leaf="">通过对 </span><code><span leaf="">devicecheckd</span></code><span leaf=""> 二进制文件的静态分析与动态调试，分析其核心加密流程。</span></p><h3><span leaf="">4.1 关键函数定位</span></h3><ul class="list-paddingleft-1"><li><p><span leaf="">API 定位：</span></p></li></ul><p><span leaf="">在 App 二进制中搜索客户端获取DeviceCheckenToken调用的api，定位到 </span><code><span leaf="">[DCDevice generateTokenWithCompletionHandler:]</span></code></p><p><span leaf="">然后再一步调试到关键方法，但这种方式比较慢，还有一种更方便的方式，根据日志输出字符串定位，下面是生成token过程中输出的日志：</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="powershell"><code><span leaf="">Generating certificate...</span></code><br/><code><span leaf="">Fetched remote public key...</span></code><br/><code><span leaf="">Encrypting <span class="code-snippet__keyword">data</span>...</span></code><br/><code><span leaf="">Certificate issued, processing..</span></code><br/><code><span leaf=""><span class="code-snippet__keyword">Using</span> synced timestamp</span></code><br/><code><span leaf="">Returning cached certificates</span></code><br/><code><span leaf="">-[<span class="code-snippet__type">MAAssetQuery</span> <span class="code-snippet__type">getResultsFromMessage</span>:]: Got the query meta <span class="code-snippet__keyword">data</span> reply <span class="code-snippet__keyword">for</span>: com.apple.MobileAsset.DeviceCheck, response: <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">Falling back to locally cached key... Asset fetch failed: Error Domain=com.apple.twobit.fetcherror Code=<span class="code-snippet__literal">-3100</span></span></code><br/></pre></p><ul class="list-paddingleft-1"><li><p><span leaf="">搜索“Generating certificate...”定位到获取公钥的方法,这个密钥后面加密时会用到。</span></p></li></ul><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="cpp"><code><span leaf=""><span class="code-snippet__type">void</span> __fastcall __37__DCCryptoProxyImpl__fetchPublicKey___block_invoke(__int64 a1, <span class="code-snippet__type">void</span> *a2, <span class="code-snippet__type">void</span> *a3)</span></code><br/><code><span leaf="">{</span></code><br/><code><span leaf="">  id v5; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  id v6; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v7; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  __int64 v8; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v9; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  NSObject *v10; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  _BOOL4 v11; <span class="code-snippet__comment">// w0</span></span></code><br/><code><span leaf="">  __int64 v12; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v13; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v14; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v15; <span class="code-snippet__comment">// [xsp+0h] [xbp-50h] BYREF</span></span></code><br/><code><span leaf="">  id v16; <span class="code-snippet__comment">// [xsp+4h] [xbp-4Ch]</span></span></code><br/><code><span leaf="">  v5 = <span class="code-snippet__built_in">objc_retain</span>(a2);</span></code><br/><code><span leaf="">  v6 = <span class="code-snippet__built_in">objc_retain</span>(a3);</span></code><br/><code><span leaf="">  v7 = (<span class="code-snippet__type">void</span> *)<span class="code-snippet__built_in">objc_claimAutoreleasedReturnValue_1330</span>(<span class="code-snippet__built_in">objc_msgSend</span>(v5, <span class="code-snippet__string">&#34;publicKey&#34;</span>));</span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">objc_release</span>(v7);</span></code><br/><code><span leaf="">  v9 = _DCLogSystem(v8);</span></code><br/><code><span leaf="">  v10 = (NSObject *)<span class="code-snippet__built_in">objc_claimAutoreleasedReturnValue_1330</span>(v9);</span></code><br/><code><span leaf="">  v11 = <span class="code-snippet__built_in">os_log_type_enabled_1518</span>(v10, OS_LOG_TYPE_DEFAULT);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v7 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v11 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      <span class="code-snippet__built_in">LOWORD</span>(v15) = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      _os_log_impl_1398(&amp;dword_446A<span class="code-snippet__number">2E000</span>, v10, OS_LOG_TYPE_DEFAULT, <span class="code-snippet__string">&#34;Fetched remote public key...&#34;</span>, (<span class="code-snippet__type">uint8_t</span> *)&amp;v15, <span class="code-snippet__number">2u</span>);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">objc_release</span>(v10);</span></code><br/><code><span leaf="">    v12 = *(_QWORD *)(a1 + <span class="code-snippet__number">32</span>);</span></code><br/><code><span leaf="">    v13 = <span class="code-snippet__built_in">objc_claimAutoreleasedReturnValue_1330</span>(<span class="code-snippet__built_in">objc_msgSend</span>(v5, <span class="code-snippet__string">&#34;publicKey&#34;</span>));</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v11 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v15 = <span class="code-snippet__number">138412290</span>;</span></code><br/><code><span leaf="">      v16 = v6;</span></code><br/><code><span leaf="">      _os_log_impl_1398(</span></code><br/><code><span leaf="">        &amp;dword_446A<span class="code-snippet__number">2E000</span>,</span></code><br/><code><span leaf="">        v10,</span></code><br/><code><span leaf="">        OS_LOG_TYPE_DEFAULT,</span></code><br/><code><span leaf="">        <span class="code-snippet__string">&#34;Falling back to locally cached key... Asset fetch failed: %@&#34;</span>,</span></code><br/><code><span leaf="">        (<span class="code-snippet__type">uint8_t</span> *)&amp;v15,</span></code><br/><code><span leaf="">        <span class="code-snippet__number">0xCu</span>);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">objc_release</span>(v10);</span></code><br/><code><span leaf="">    v12 = *(_QWORD *)(a1 + <span class="code-snippet__number">32</span>);</span></code><br/><code><span leaf="">    v13 = <span class="code-snippet__built_in">objc_claimAutoreleasedReturnValue_1330</span>(<span class="code-snippet__built_in">objc_msgSend</span>(&amp;OBJC_CLASS___NSData, <span class="code-snippet__string">&#34;dataWithBytes:length:&#34;</span>, &amp;fallback_server_pubkey, <span class="code-snippet__number">65</span>));</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v14 = (<span class="code-snippet__type">void</span> *)v13;</span></code><br/><code><span leaf="">  (*(<span class="code-snippet__built_in">void</span> (__fastcall **)(__int64, __int64))(v12 + <span class="code-snippet__number">16</span>))(v12, v13);</span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">objc_release</span>(v14);</span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">objc_release</span>(v6);</span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">objc_release</span>(v5);</span></code><br/><code><span leaf="">}</span></code><br/></pre></p><p data-pm-slice="0 0 []"><span leaf="">尝试用 DCAssetFetcher/MobileAsset 拉最新的远程公钥，如果成功就用它；失败就用代码中默认密钥fallback_server_pubkey 常量，然后把选出来的公钥交回后续逻辑（DCCertificateGenerator 那边去做 ECDH）。</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">pub</span> key</span></code><br/><code><span leaf=""><span class="code-snippet__attribute">0000000A9700B010</span>              <span class="code-snippet__number">04</span> <span class="code-snippet__number">50</span> D9 <span class="code-snippet__number">34</span>  FA <span class="code-snippet__number">67</span> BC F6 F2 DF BF <span class="code-snippet__number">96</span></span></code><br/><code><span leaf=""><span class="code-snippet__attribute">0000000A9700B020</span>  <span class="code-snippet__number">62</span> <span class="code-snippet__number">9</span>E <span class="code-snippet__number">0</span>A <span class="code-snippet__number">72</span> <span class="code-snippet__number">38</span> E9 <span class="code-snippet__number">20</span> <span class="code-snippet__number">5</span>D  <span class="code-snippet__number">75</span> F2 <span class="code-snippet__number">8</span>C FC D8 <span class="code-snippet__number">4</span>F <span class="code-snippet__number">35</span> A6 </span></code><br/><code><span leaf=""><span class="code-snippet__attribute">0000000A9700B030</span>  <span class="code-snippet__number">59</span> <span class="code-snippet__number">2</span>B BE <span class="code-snippet__number">05</span> <span class="code-snippet__number">8</span>A <span class="code-snippet__number">9</span>C <span class="code-snippet__number">0</span>F <span class="code-snippet__number">8</span>E  DB CA <span class="code-snippet__number">2</span>A CB <span class="code-snippet__number">67</span> EF B7 <span class="code-snippet__number">74</span> </span></code><br/><code><span leaf=""><span class="code-snippet__attribute">0000000A9700B040</span>  <span class="code-snippet__number">97</span> <span class="code-snippet__number">1</span>C A4 <span class="code-snippet__number">5</span>F <span class="code-snippet__number">7</span>D <span class="code-snippet__number">85</span> <span class="code-snippet__number">6</span>A <span class="code-snippet__number">69</span>  <span class="code-snippet__number">4</span>F B1 B9 C4 <span class="code-snippet__number">0</span>B <span class="code-snippet__number">94</span> FB <span class="code-snippet__number">2</span>E </span></code><br/><code><span leaf=""><span class="code-snippet__attribute">0000000A9700B050</span>  <span class="code-snippet__number">7</span>A <span class="code-snippet__number">5</span>A <span class="code-snippet__number">94</span> <span class="code-snippet__number">98</span> B0</span></code><br/></pre></p><ul class="list-paddingleft-1"><li><p><span leaf="">准备读取本地缓存的激活证书</span></p></li></ul><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="">这张证书属于哪一类身份 &amp; 存在哪个抽屉</span></code><br/><code><span leaf="">KeychainLabel = <span class="code-snippet__string">&#34;2bit-identity&#34;</span></span></code><br/><code><span leaf="">KeychainAccessGroup = <span class="code-snippet__string">&#34;2bit-identity&#34;</span></span></code><br/><code><span leaf=""><span class="code-snippet__comment">//生成配置信息</span></span></code><br/><code><span leaf=""><span class="code-snippet__type">id</span> +[DCCryptoUtilities identityCertificateOptions]()</span></code><br/><code><span leaf="">{</span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v0; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v1; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSObject</span> *v2; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v3; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v4; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v5; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v6; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v7; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __CFString *v9; <span class="code-snippet__comment">// [xsp+0h] [xbp-A0h] BYREF</span></span></code><br/><code><span leaf="">  _QWORD v10[<span class="code-snippet__number">6</span>]; <span class="code-snippet__comment">// [xsp+8h] [xbp-98h] BYREF</span></span></code><br/><code><span leaf="">  _QWORD v11[<span class="code-snippet__number">6</span>]; <span class="code-snippet__comment">// [xsp+38h] [xbp-68h] BYREF</span></span></code><br/><code><span leaf="">  __int64 vars8; <span class="code-snippet__comment">// [xsp+A8h] [xbp+8h]</span></span></code><br/><code><span leaf="">  v0 = objc_msgSend(&amp;OBJC_CLASS___DCCryptoUtilities, <span class="code-snippet__string">&#34;generateTTL&#34;</span>);</span></code><br/><code><span leaf="">  v1 = _DCLogSystem(v0);</span></code><br/><code><span leaf="">  v2 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v1);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_1518(v2, OS_LOG_TYPE_DEBUG) )</span></code><br/><code><span leaf="">    +[DCCryptoUtilities identityCertificateOptions].cold<span class="code-snippet__number">.1</span>(v0, v2);</span></code><br/><code><span leaf="">  objc_release(v2);</span></code><br/><code><span leaf="">  v10[<span class="code-snippet__number">0</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Validity&#34;</span>);</span></code><br/><code><span leaf="">  v3 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_1330(objc_msgSend(&amp;OBJC_CLASS___NSNumber, <span class="code-snippet__string">&#34;numberWithUnsignedInt:&#34;</span>, v0));</span></code><br/><code><span leaf="">  v11[<span class="code-snippet__number">0</span>] = v3;</span></code><br/><code><span leaf="">  v11[<span class="code-snippet__number">1</span>] = &amp;__kCFBooleanFalse;</span></code><br/><code><span leaf="">  v10[<span class="code-snippet__number">1</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;scrtAttestation&#34;</span>);</span></code><br/><code><span leaf="">  v10[<span class="code-snippet__number">2</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;KeychainLabel&#34;</span>);</span></code><br/><code><span leaf="">  v11[<span class="code-snippet__number">2</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;2bit-identity&#34;</span>);</span></code><br/><code><span leaf="">  v11[<span class="code-snippet__number">3</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;2bit-identity&#34;</span>);</span></code><br/><code><span leaf="">  v10[<span class="code-snippet__number">3</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;KeychainAccessGroup&#34;</span>);</span></code><br/><code><span leaf="">  v10[<span class="code-snippet__number">4</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;IgnoreExistingKeychainItems&#34;</span>);</span></code><br/><code><span leaf="">  v11[<span class="code-snippet__number">4</span>] = &amp;__kCFBooleanFalse;</span></code><br/><code><span leaf="">  v10[<span class="code-snippet__number">5</span>] = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>);</span></code><br/><code><span leaf="">  v9 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.10.1&#34;</span>);</span></code><br/><code><span leaf="">  v4 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_1330(objc_msgSend(&amp;OBJC_CLASS___NSArray, <span class="code-snippet__string">&#34;arrayWithObjects:count:&#34;</span>, &amp;v9, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">  v11[<span class="code-snippet__number">5</span>] = v4;</span></code><br/><code><span leaf="">  v5 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_1330(objc_msgSend(&amp;OBJC_CLASS___NSDictionary, <span class="code-snippet__string">&#34;dictionaryWithObjects:forKeys:count:&#34;</span>, v11, v10, <span class="code-snippet__number">6</span>));</span></code><br/><code><span leaf="">  v6 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_1330(objc_msgSend(&amp;OBJC_CLASS___NSMutableDictionary, <span class="code-snippet__string">&#34;dictionaryWithDictionary:&#34;</span>, v5));</span></code><br/><code><span leaf="">  objc_release(v5);</span></code><br/><code><span leaf="">  objc_release(v4);</span></code><br/><code><span leaf="">  objc_release(v3);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)os_variant_allows_internal_security_policies_55(<span class="code-snippet__number">0</span>) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v7 = objc_msgSend(</span></code><br/><code><span leaf="">           objc_alloc((Class)&amp;OBJC_CLASS___NSUserDefaults),</span></code><br/><code><span leaf="">           <span class="code-snippet__string">&#34;initWithSuiteName:&#34;</span>,</span></code><br/><code><span leaf="">           <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.DeviceCheck&#34;</span>));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v7, <span class="code-snippet__string">&#34;boolForKey:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;DCIgnoreExistingKeychainItems&#34;</span>)) )</span></code><br/><code><span leaf="">      objc_msgSend(v6, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, &amp;__kCFBooleanTrue, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;IgnoreExistingKeychainItems&#34;</span>));</span></code><br/><code><span leaf="">    objc_release(v7);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (DeviceIdentityUCRTAttestationSupported_1() &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    objc_msgSend(v6, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, &amp;__kCFBooleanTrue, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;scrtAttestation&#34;</span>));</span></code><br/><code><span leaf="">  objc_msgSend(v6, <span class="code-snippet__string">&#34;setObject:forKeyedSubscript:&#34;</span>, &amp;__kCFBooleanTrue, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ReturnReferenceDate&#34;</span>));</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( ((vars8 ^ (<span class="code-snippet__number">2</span> * vars8)) &amp; <span class="code-snippet__number">0x4000000000000000</span>LL) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    __<span class="code-snippet__keyword">break</span>(<span class="code-snippet__number">0xC471</span>u);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">return</span> objc_autoreleaseReturnValue(v6);</span></code><br/><code><span leaf="">}</span></code><br/><code><span leaf=""><span class="code-snippet__comment">//开始读取</span></span></code><br/><code><span leaf=""><span class="code-snippet__type">void</span> __fastcall __DeviceIdentityIssueClientCertificateWithCompletion_block_invoke(__int64 a1)</span></code><br/><code><span leaf="">{</span></code><br/><code><span leaf="">  __int64 v2; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v3; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v4; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSObject</span> *v5; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  dispatch_queue_global_t global_queue_364; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v7; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v8; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v9; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v10; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __SecTask *v11; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v12; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v13; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v14; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __SecTask *v15; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  __int64 v16; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v17; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v18; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v19; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v20; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int8 v21; <span class="code-snippet__comment">// w22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v22; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> *v23; <span class="code-snippet__comment">// x28</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v24; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v25; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v26; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v27; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v28; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v29; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v30; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int8 v31; <span class="code-snippet__comment">// w25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> MobileActivationError_0; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v33; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v34; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v35; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDictionaryRef</span> v36; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v37; <span class="code-snippet__comment">// x28</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v38; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v39; <span class="code-snippet__comment">// x27</span></span></code><br/><code><span leaf="">  __int64 v40; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v41; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v42; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  __int64 *v43; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v44; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 *v45; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v46; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 *v47; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v48; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 *v49; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v50; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 *v51; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v52; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v53; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> *v54; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v55; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFErrorRef</span> v56; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v57; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v58; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v59; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v60; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v61; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v62; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v63; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v64; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">bool</span> v65; <span class="code-snippet__comment">// w25</span></span></code><br/><code><span leaf="">  __int64 v66; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v67; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v68; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v69; <span class="code-snippet__comment">// w26</span></span></code><br/><code><span leaf="">  __int64 v70; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v71; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v72; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v73; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v74; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v75; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v76; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v77; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v78; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v79; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v80; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v81; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v82; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> __CFData *v83; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  SecCertificateRef v84; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v85; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v86; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v87; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> __CFData *v88; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  SecCertificateRef v89; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v90; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v91; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v92; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v93; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFErrorRef</span> v94; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v95; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v96; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v97; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v98; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v99; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v100; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v101; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  __int64 v102; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v103; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v104; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v105; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v106; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v107; <span class="code-snippet__comment">// x3</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> *v108; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v109; <span class="code-snippet__comment">// t1</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v110; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">double</span> v111; <span class="code-snippet__comment">// d8</span></span></code><br/><code><span leaf="">  __int64 v112; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v113; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v114; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v115; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v116; <span class="code-snippet__comment">// x3</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> *v117; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v118; <span class="code-snippet__comment">// t1</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v119; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v120; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int8 v121; <span class="code-snippet__comment">// w26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v122; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v123; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v124; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v125; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v126; <span class="code-snippet__comment">// x27</span></span></code><br/><code><span leaf="">  __int64 v127; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v128; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v129; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v130; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v131; <span class="code-snippet__comment">// w21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v132; <span class="code-snippet__comment">// x3</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v133; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v134; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v135; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v136; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v137; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v138; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v139; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v140; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v141; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v142; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v143; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v144; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  __int64 v145; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v146; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v147; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v148; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v149; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v150; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v151; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v152; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v153; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v154; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v155; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v156; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v157; <span class="code-snippet__comment">// w22</span></span></code><br/><code><span leaf="">  __int64 v158; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v159; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v160; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v161; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v162; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v163; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v164; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v165; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v166; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v167; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v168; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v169; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v170; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v171; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v172; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v173; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v174; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v175; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v176; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  __int64 v177; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v178; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v179; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v180; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v181; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v182; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v183; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  __int64 v184; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v185; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v186; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v187; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v188; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v189; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v190; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v191; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v192; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v193; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v194; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v195; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v196; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v197; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v198; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v199; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v200; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v201; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v202; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v203; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v204; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v205; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v206; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v207; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v208; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v209; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v210; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __CFString *v211; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v212; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v213; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v214; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v215; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v216; <span class="code-snippet__comment">// w19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v217; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v218; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v219; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v220; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v221; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v222; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v223; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v224; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  __int64 v225; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v226; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v227; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v228; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v229; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  __int64 v230; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v231; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  __int64 v232; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v233; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v234; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v235; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v236; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFTypeID</span> v237; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFTypeID</span> TypeID_4; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v239; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v240; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v241; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v242; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v243; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v244; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v245; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v246; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v247; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  __int64 v248; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v249; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v250; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v251; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v252; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v253; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v254; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v255; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v256; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  __int64 v257; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v258; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v259; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v260; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  __int64 v261; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v262; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v263; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v264; <span class="code-snippet__comment">// w27</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v265; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  __int64 v266; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v267; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v268; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v269; <span class="code-snippet__comment">// w22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v270; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  __int64 v271; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v272; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v273; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v274; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  __int64 v275; <span class="code-snippet__comment">// x27</span></span></code><br/><code><span leaf="">  __int64 v276; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v277; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v278; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v279; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v280; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v281; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v282; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v283; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v284; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v285; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v286; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v287; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v288; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v289; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v290; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v291; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v292; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v293; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v294; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  __int64 v295; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v296; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  __int64 v297; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> valid; <span class="code-snippet__comment">// w28</span></span></code><br/><code><span leaf="">  __int64 v299; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v300; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v301; <span class="code-snippet__comment">// w28</span></span></code><br/><code><span leaf="">  __int64 v302; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v303; <span class="code-snippet__comment">// w28</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v304; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v305; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v306; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v307; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v308; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v309; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  __int64 *v310; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v311; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 *v312; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v313; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 *v314; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v315; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v316; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v317; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">double</span> v318; <span class="code-snippet__comment">// d0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v319; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v320; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v321; <span class="code-snippet__comment">// w19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v322; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  __int64 v323; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v324; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v325; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">double</span> v326; <span class="code-snippet__comment">// d8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">double</span> v327; <span class="code-snippet__comment">// d9</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">double</span> v328; <span class="code-snippet__comment">// d0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v329; <span class="code-snippet__comment">// w25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v330; <span class="code-snippet__comment">// w8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v331; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v332; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v333; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __SecKey *v334; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  __int64 v335; <span class="code-snippet__comment">// x2</span></span></code><br/><code><span leaf="">  __int64 v336; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  __int64 v337; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v338; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v339; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __SecKey *v340; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v341; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v342; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v343; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v344; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v345; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v346; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDictionaryRef</span> v347; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v348; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v349; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v350; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  __int64 v351; <span class="code-snippet__comment">// x5</span></span></code><br/><code><span leaf="">  __int64 v352; <span class="code-snippet__comment">// x6</span></span></code><br/><code><span leaf="">  __int64 v353; <span class="code-snippet__comment">// x7</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v354; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  dispatch_queue_global_t v355; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __CFString *v356; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v357; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v358; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v359; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v360; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v361; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v362; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v363; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v364; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFTypeRef</span> v365; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v366; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v367; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v368; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v369; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v370; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v371; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v372; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v373; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v374; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v375; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v376; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v377; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v378; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v379; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v380; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v381; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  __int64 *v382; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  __int64 *v383; <span class="code-snippet__comment">// x9</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v384; <span class="code-snippet__comment">// [xsp+0h] [xbp-680h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v385; <span class="code-snippet__comment">// [xsp+18h] [xbp-668h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v386; <span class="code-snippet__comment">// [xsp+20h] [xbp-660h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v387; <span class="code-snippet__comment">// [xsp+28h] [xbp-658h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v388; <span class="code-snippet__comment">// [xsp+30h] [xbp-650h]</span></span></code><br/><code><span leaf="">  __int64 v389; <span class="code-snippet__comment">// [xsp+38h] [xbp-648h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v390; <span class="code-snippet__comment">// [xsp+38h] [xbp-648h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v391; <span class="code-snippet__comment">// [xsp+40h] [xbp-640h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v392; <span class="code-snippet__comment">// [xsp+40h] [xbp-640h]</span></span></code><br/><code><span leaf="">  __int64 v393; <span class="code-snippet__comment">// [xsp+40h] [xbp-640h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v394; <span class="code-snippet__comment">// [xsp+40h] [xbp-640h]</span></span></code><br/><code><span leaf="">  _BOOL4 v395; <span class="code-snippet__comment">// [xsp+48h] [xbp-638h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v396; <span class="code-snippet__comment">// [xsp+48h] [xbp-638h]</span></span></code><br/><code><span leaf="">  _BOOL4 v397; <span class="code-snippet__comment">// [xsp+50h] [xbp-630h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v398; <span class="code-snippet__comment">// [xsp+50h] [xbp-630h]</span></span></code><br/><code><span leaf="">  _BOOL4 v399; <span class="code-snippet__comment">// [xsp+58h] [xbp-628h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v400; <span class="code-snippet__comment">// [xsp+58h] [xbp-628h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *queue; <span class="code-snippet__comment">// [xsp+60h] [xbp-620h]</span></span></code><br/><code><span leaf="">  _BOOL4 queuea; <span class="code-snippet__comment">// [xsp+60h] [xbp-620h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> queueb; <span class="code-snippet__comment">// [xsp+60h] [xbp-620h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSObject</span> *queuec; <span class="code-snippet__comment">// [xsp+60h] [xbp-620h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> queued; <span class="code-snippet__comment">// [xsp+60h] [xbp-620h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v406; <span class="code-snippet__comment">// [xsp+68h] [xbp-618h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v407; <span class="code-snippet__comment">// [xsp+70h] [xbp-610h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v408; <span class="code-snippet__comment">// [xsp+78h] [xbp-608h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v409; <span class="code-snippet__comment">// [xsp+80h] [xbp-600h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v410; <span class="code-snippet__comment">// [xsp+88h] [xbp-5F8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v411; <span class="code-snippet__comment">// [xsp+90h] [xbp-5F0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v412; <span class="code-snippet__comment">// [xsp+98h] [xbp-5E8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v413; <span class="code-snippet__comment">// [xsp+A0h] [xbp-5E0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFDataRef</span> v414; <span class="code-snippet__comment">// [xsp+A8h] [xbp-5D8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v415; <span class="code-snippet__comment">// [xsp+A8h] [xbp-5D8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v416; <span class="code-snippet__comment">// [xsp+A8h] [xbp-5D8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v417; <span class="code-snippet__comment">// [xsp+B0h] [xbp-5D0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v418; <span class="code-snippet__comment">// [xsp+B8h] [xbp-5C8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v419; <span class="code-snippet__comment">// [xsp+C0h] [xbp-5C0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int8 v420; <span class="code-snippet__comment">// [xsp+C0h] [xbp-5C0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v421; <span class="code-snippet__comment">// [xsp+C8h] [xbp-5B8h]</span></span></code><br/><code><span leaf="">  __CFString *v422; <span class="code-snippet__comment">// [xsp+D0h] [xbp-5B0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *cf; <span class="code-snippet__comment">// [xsp+D8h] [xbp-5A8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *cfa; <span class="code-snippet__comment">// [xsp+D8h] [xbp-5A8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v425; <span class="code-snippet__comment">// [xsp+E0h] [xbp-5A0h]</span></span></code><br/><code><span leaf="">  _QWORD block[<span class="code-snippet__number">4</span>]; <span class="code-snippet__comment">// [xsp+E8h] [xbp-598h] BYREF</span></span></code><br/><code><span leaf="">  _QWORD v427[<span class="code-snippet__number">4</span>]; <span class="code-snippet__comment">// [xsp+108h] [xbp-578h] BYREF</span></span></code><br/><code><span leaf="">  _QWORD v428[<span class="code-snippet__number">4</span>]; <span class="code-snippet__comment">// [xsp+128h] [xbp-558h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v429; <span class="code-snippet__comment">// [xsp+148h] [xbp-538h] BYREF</span></span></code><br/><code><span leaf="">  __CFString *v430; <span class="code-snippet__comment">// [xsp+150h] [xbp-530h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v431; <span class="code-snippet__comment">// [xsp+158h] [xbp-528h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v432; <span class="code-snippet__comment">// [xsp+160h] [xbp-520h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v433; <span class="code-snippet__comment">// [xsp+168h] [xbp-518h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v434; <span class="code-snippet__comment">// [xsp+170h] [xbp-510h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v435; <span class="code-snippet__comment">// [xsp+178h] [xbp-508h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v436; <span class="code-snippet__comment">// [xsp+180h] [xbp-500h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v437; <span class="code-snippet__comment">// [xsp+188h] [xbp-4F8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v438; <span class="code-snippet__comment">// [xsp+190h] [xbp-4F0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v439; <span class="code-snippet__comment">// [xsp+198h] [xbp-4E8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v440; <span class="code-snippet__comment">// [xsp+1A0h] [xbp-4E0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v441; <span class="code-snippet__comment">// [xsp+1A8h] [xbp-4D8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSObject</span> *v442; <span class="code-snippet__comment">// [xsp+1B0h] [xbp-4D0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v443; <span class="code-snippet__comment">// [xsp+1B8h] [xbp-4C8h]</span></span></code><br/><code><span leaf="">  __int64 v444; <span class="code-snippet__comment">// [xsp+1C0h] [xbp-4C0h]</span></span></code><br/><code><span leaf="">  _QWORD *v445; <span class="code-snippet__comment">// [xsp+1C8h] [xbp-4B8h]</span></span></code><br/><code><span leaf="">  __int64 *v446; <span class="code-snippet__comment">// [xsp+1D0h] [xbp-4B0h]</span></span></code><br/><code><span leaf="">  __int64 *v447; <span class="code-snippet__comment">// [xsp+1D8h] [xbp-4A8h]</span></span></code><br/><code><span leaf="">  __int64 *v448; <span class="code-snippet__comment">// [xsp+1E0h] [xbp-4A0h]</span></span></code><br/><code><span leaf="">  __int64 *v449; <span class="code-snippet__comment">// [xsp+1E8h] [xbp-498h]</span></span></code><br/><code><span leaf="">  __int64 *v450; <span class="code-snippet__comment">// [xsp+1F0h] [xbp-490h]</span></span></code><br/><code><span leaf="">  __int64 *v451; <span class="code-snippet__comment">// [xsp+1F8h] [xbp-488h]</span></span></code><br/><code><span leaf="">  __int64 *v452; <span class="code-snippet__comment">// [xsp+200h] [xbp-480h]</span></span></code><br/><code><span leaf="">  __int64 *v453; <span class="code-snippet__comment">// [xsp+208h] [xbp-478h]</span></span></code><br/><code><span leaf="">  __int64 *v454; <span class="code-snippet__comment">// [xsp+210h] [xbp-470h]</span></span></code><br/><code><span leaf="">  __int64 *v455; <span class="code-snippet__comment">// [xsp+218h] [xbp-468h]</span></span></code><br/><code><span leaf="">  __int64 *v456; <span class="code-snippet__comment">// [xsp+220h] [xbp-460h]</span></span></code><br/><code><span leaf="">  __int64 *v457; <span class="code-snippet__comment">// [xsp+228h] [xbp-458h]</span></span></code><br/><code><span leaf="">  __int64 *v458; <span class="code-snippet__comment">// [xsp+230h] [xbp-450h]</span></span></code><br/><code><span leaf="">  __int64 *v459; <span class="code-snippet__comment">// [xsp+238h] [xbp-448h]</span></span></code><br/><code><span leaf="">  __int64 *v460; <span class="code-snippet__comment">// [xsp+240h] [xbp-440h]</span></span></code><br/><code><span leaf="">  __int64 *v461; <span class="code-snippet__comment">// [xsp+248h] [xbp-438h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">bool</span> v462; <span class="code-snippet__comment">// [xsp+250h] [xbp-430h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v463; <span class="code-snippet__comment">// [xsp+258h] [xbp-428h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v464; <span class="code-snippet__comment">// [xsp+260h] [xbp-420h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v465; <span class="code-snippet__comment">// [xsp+268h] [xbp-418h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v466; <span class="code-snippet__comment">// [xsp+270h] [xbp-410h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v467; <span class="code-snippet__comment">// [xsp+278h] [xbp-408h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> obj; <span class="code-snippet__comment">// [xsp+280h] [xbp-400h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v469; <span class="code-snippet__comment">// [xsp+288h] [xbp-3F8h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v470; <span class="code-snippet__comment">// [xsp+290h] [xbp-3F0h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v471; <span class="code-snippet__comment">// [xsp+298h] [xbp-3E8h] BYREF</span></span></code><br/><code><span leaf="">  __int64 v472; <span class="code-snippet__comment">// [xsp+2A0h] [xbp-3E0h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">double</span> *v473; <span class="code-snippet__comment">// [xsp+2A8h] [xbp-3D8h]</span></span></code><br/><code><span leaf="">  __int64 v474; <span class="code-snippet__comment">// [xsp+2B0h] [xbp-3D0h]</span></span></code><br/><code><span leaf="">  __int64 v475; <span class="code-snippet__comment">// [xsp+2B8h] [xbp-3C8h]</span></span></code><br/><code><span leaf="">  __int64 v476; <span class="code-snippet__comment">// [xsp+2C0h] [xbp-3C0h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v477; <span class="code-snippet__comment">// [xsp+2C8h] [xbp-3B8h]</span></span></code><br/><code><span leaf="">  __int64 v478; <span class="code-snippet__comment">// [xsp+2D0h] [xbp-3B0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v479; <span class="code-snippet__comment">// [xsp+2D8h] [xbp-3A8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v480; <span class="code-snippet__comment">// [xsp+2E4h] [xbp-39Ch] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">double</span> v481; <span class="code-snippet__comment">// [xsp+2E8h] [xbp-398h] BYREF</span></span></code><br/><code><span leaf="">  __int64 v482; <span class="code-snippet__comment">// [xsp+2F0h] [xbp-390h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">double</span> *v483; <span class="code-snippet__comment">// [xsp+2F8h] [xbp-388h]</span></span></code><br/><code><span leaf="">  __int64 v484; <span class="code-snippet__comment">// [xsp+300h] [xbp-380h]</span></span></code><br/><code><span leaf="">  __int64 v485; <span class="code-snippet__comment">// [xsp+308h] [xbp-378h]</span></span></code><br/><code><span leaf="">  __int64 v486; <span class="code-snippet__comment">// [xsp+310h] [xbp-370h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v487; <span class="code-snippet__comment">// [xsp+318h] [xbp-368h]</span></span></code><br/><code><span leaf="">  __int64 v488; <span class="code-snippet__comment">// [xsp+320h] [xbp-360h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v489)(); <span class="code-snippet__comment">// [xsp+328h] [xbp-358h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v490)(); <span class="code-snippet__comment">// [xsp+330h] [xbp-350h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v491; <span class="code-snippet__comment">// [xsp+338h] [xbp-348h]</span></span></code><br/><code><span leaf="">  __int64 v492; <span class="code-snippet__comment">// [xsp+340h] [xbp-340h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v493; <span class="code-snippet__comment">// [xsp+348h] [xbp-338h]</span></span></code><br/><code><span leaf="">  __int64 v494; <span class="code-snippet__comment">// [xsp+350h] [xbp-330h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v495)(); <span class="code-snippet__comment">// [xsp+358h] [xbp-328h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v496)(); <span class="code-snippet__comment">// [xsp+360h] [xbp-320h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v497; <span class="code-snippet__comment">// [xsp+368h] [xbp-318h]</span></span></code><br/><code><span leaf="">  __int64 v498; <span class="code-snippet__comment">// [xsp+370h] [xbp-310h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v499; <span class="code-snippet__comment">// [xsp+378h] [xbp-308h]</span></span></code><br/><code><span leaf="">  __int64 v500; <span class="code-snippet__comment">// [xsp+380h] [xbp-300h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v501)(); <span class="code-snippet__comment">// [xsp+388h] [xbp-2F8h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v502)(); <span class="code-snippet__comment">// [xsp+390h] [xbp-2F0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v503; <span class="code-snippet__comment">// [xsp+398h] [xbp-2E8h]</span></span></code><br/><code><span leaf="">  __int64 v504; <span class="code-snippet__comment">// [xsp+3A0h] [xbp-2E0h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v505; <span class="code-snippet__comment">// [xsp+3A8h] [xbp-2D8h]</span></span></code><br/><code><span leaf="">  __int64 v506; <span class="code-snippet__comment">// [xsp+3B0h] [xbp-2D0h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v507)(); <span class="code-snippet__comment">// [xsp+3B8h] [xbp-2C8h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v508)(); <span class="code-snippet__comment">// [xsp+3C0h] [xbp-2C0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v509; <span class="code-snippet__comment">// [xsp+3C8h] [xbp-2B8h]</span></span></code><br/><code><span leaf="">  __int64 v510; <span class="code-snippet__comment">// [xsp+3D0h] [xbp-2B0h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v511; <span class="code-snippet__comment">// [xsp+3D8h] [xbp-2A8h]</span></span></code><br/><code><span leaf="">  __int64 v512; <span class="code-snippet__comment">// [xsp+3E0h] [xbp-2A0h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v513)(); <span class="code-snippet__comment">// [xsp+3E8h] [xbp-298h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v514)(); <span class="code-snippet__comment">// [xsp+3F0h] [xbp-290h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v515; <span class="code-snippet__comment">// [xsp+3F8h] [xbp-288h]</span></span></code><br/><code><span leaf="">  __int64 v516; <span class="code-snippet__comment">// [xsp+400h] [xbp-280h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v517; <span class="code-snippet__comment">// [xsp+408h] [xbp-278h]</span></span></code><br/><code><span leaf="">  __int64 v518; <span class="code-snippet__comment">// [xsp+410h] [xbp-270h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v519)(); <span class="code-snippet__comment">// [xsp+418h] [xbp-268h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v520)(); <span class="code-snippet__comment">// [xsp+420h] [xbp-260h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v521; <span class="code-snippet__comment">// [xsp+428h] [xbp-258h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v522; <span class="code-snippet__comment">// [xsp+434h] [xbp-24Ch] BYREF</span></span></code><br/><code><span leaf="">  __int64 v523; <span class="code-snippet__comment">// [xsp+438h] [xbp-248h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v524; <span class="code-snippet__comment">// [xsp+440h] [xbp-240h]</span></span></code><br/><code><span leaf="">  __int64 v525; <span class="code-snippet__comment">// [xsp+448h] [xbp-238h]</span></span></code><br/><code><span leaf="">  __int64 v526; <span class="code-snippet__comment">// [xsp+450h] [xbp-230h]</span></span></code><br/><code><span leaf="">  __int64 v527; <span class="code-snippet__comment">// [xsp+458h] [xbp-228h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v528; <span class="code-snippet__comment">// [xsp+460h] [xbp-220h]</span></span></code><br/><code><span leaf="">  __int64 v529; <span class="code-snippet__comment">// [xsp+468h] [xbp-218h]</span></span></code><br/><code><span leaf="">  __int64 v530; <span class="code-snippet__comment">// [xsp+470h] [xbp-210h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">CFErrorRef</span> error; <span class="code-snippet__comment">// [xsp+478h] [xbp-208h] BYREF</span></span></code><br/><code><span leaf="">  __int64 v532; <span class="code-snippet__comment">// [xsp+480h] [xbp-200h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v533; <span class="code-snippet__comment">// [xsp+488h] [xbp-1F8h]</span></span></code><br/><code><span leaf="">  __int64 v534; <span class="code-snippet__comment">// [xsp+490h] [xbp-1F0h]</span></span></code><br/><code><span leaf="">  __int64 v535; <span class="code-snippet__comment">// [xsp+498h] [xbp-1E8h]</span></span></code><br/><code><span leaf="">  __int64 v536; <span class="code-snippet__comment">// [xsp+4A0h] [xbp-1E0h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v537; <span class="code-snippet__comment">// [xsp+4A8h] [xbp-1D8h]</span></span></code><br/><code><span leaf="">  __int64 v538; <span class="code-snippet__comment">// [xsp+4B0h] [xbp-1D0h]</span></span></code><br/><code><span leaf="">  __int64 v539; <span class="code-snippet__comment">// [xsp+4B8h] [xbp-1C8h]</span></span></code><br/><code><span leaf="">  __int64 v540; <span class="code-snippet__comment">// [xsp+4C0h] [xbp-1C0h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v541; <span class="code-snippet__comment">// [xsp+4C8h] [xbp-1B8h]</span></span></code><br/><code><span leaf="">  __int64 v542; <span class="code-snippet__comment">// [xsp+4D0h] [xbp-1B0h]</span></span></code><br/><code><span leaf="">  __int64 v543; <span class="code-snippet__comment">// [xsp+4D8h] [xbp-1A8h]</span></span></code><br/><code><span leaf="">  __int64 v544; <span class="code-snippet__comment">// [xsp+4E0h] [xbp-1A0h] BYREF</span></span></code><br/><code><span leaf="">  __int64 *v545; <span class="code-snippet__comment">// [xsp+4E8h] [xbp-198h]</span></span></code><br/><code><span leaf="">  __int64 v546; <span class="code-snippet__comment">// [xsp+4F0h] [xbp-190h]</span></span></code><br/><code><span leaf="">  __int64 v547; <span class="code-snippet__comment">// [xsp+4F8h] [xbp-188h]</span></span></code><br/><code><span leaf="">  __int64 v548; <span class="code-snippet__comment">// [xsp+500h] [xbp-180h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> *v549; <span class="code-snippet__comment">// [xsp+508h] [xbp-178h]</span></span></code><br/><code><span leaf="">  __int64 v550; <span class="code-snippet__comment">// [xsp+510h] [xbp-170h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v551)(); <span class="code-snippet__comment">// [xsp+518h] [xbp-168h]</span></span></code><br/><code><span leaf="">  __int64 (__fastcall *v552)(); <span class="code-snippet__comment">// [xsp+520h] [xbp-160h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v553; <span class="code-snippet__comment">// [xsp+528h] [xbp-158h]</span></span></code><br/><code><span leaf="">  _QWORD v554[<span class="code-snippet__number">5</span>]; <span class="code-snippet__comment">// [xsp+530h] [xbp-150h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v555; <span class="code-snippet__comment">// [xsp+558h] [xbp-128h]</span></span></code><br/><code><span leaf="">  uint8_t buf[<span class="code-snippet__number">4</span>]; <span class="code-snippet__comment">// [xsp+560h] [xbp-120h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v557; <span class="code-snippet__comment">// [xsp+564h] [xbp-11Ch]</span></span></code><br/><code><span leaf="">  __int16 v558; <span class="code-snippet__comment">// [xsp+56Ch] [xbp-114h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v559; <span class="code-snippet__comment">// [xsp+56Eh] [xbp-112h]</span></span></code><br/><code><span leaf="">  __int16 v560; <span class="code-snippet__comment">// [xsp+576h] [xbp-10Ah]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v561; <span class="code-snippet__comment">// [xsp+578h] [xbp-108h]</span></span></code><br/><code><span leaf="">  __int16 v562; <span class="code-snippet__comment">// [xsp+580h] [xbp-100h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v563; <span class="code-snippet__comment">// [xsp+582h] [xbp-FEh]</span></span></code><br/><code><span leaf="">  __int16 v564; <span class="code-snippet__comment">// [xsp+58Ah] [xbp-F6h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v565; <span class="code-snippet__comment">// [xsp+58Ch] [xbp-F4h]</span></span></code><br/><code><span leaf="">  __int16 v566; <span class="code-snippet__comment">// [xsp+594h] [xbp-ECh]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v567; <span class="code-snippet__comment">// [xsp+596h] [xbp-EAh]</span></span></code><br/><code><span leaf="">  __int16 v568; <span class="code-snippet__comment">// [xsp+59Eh] [xbp-E2h]</span></span></code><br/><code><span leaf="">  __int64 v569; <span class="code-snippet__comment">// [xsp+5A0h] [xbp-E0h]</span></span></code><br/><code><span leaf="">  __int64 v570; <span class="code-snippet__comment">// [xsp+5B0h] [xbp-D0h]</span></span></code><br/><code><span leaf="">  _QWORD v571[<span class="code-snippet__number">3</span>]; <span class="code-snippet__comment">// [xsp+5B8h] [xbp-C8h] BYREF</span></span></code><br/><code><span leaf="">  __int64 v572; <span class="code-snippet__comment">// [xsp+5D0h] [xbp-B0h] BYREF</span></span></code><br/><code><span leaf="">  __CFString *v573; <span class="code-snippet__comment">// [xsp+5D8h] [xbp-A8h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v574; <span class="code-snippet__comment">// [xsp+5E0h] [xbp-A0h] BYREF</span></span></code><br/><code><span leaf="">  __CFString *v575; <span class="code-snippet__comment">// [xsp+5E8h] [xbp-98h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v576; <span class="code-snippet__comment">// [xsp+5F0h] [xbp-90h] BYREF</span></span></code><br/><code><span leaf="">  v554[<span class="code-snippet__number">0</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v554[<span class="code-snippet__number">1</span>] = v554;</span></code><br/><code><span leaf="">  v554[<span class="code-snippet__number">2</span>] = <span class="code-snippet__number">0x3032000000</span>LL;</span></code><br/><code><span leaf="">  v554[<span class="code-snippet__number">3</span>] = __Block_byref_object_copy__4684;</span></code><br/><code><span leaf="">  v554[<span class="code-snippet__number">4</span>] = __Block_byref_object_dispose__4684;</span></code><br/><code><span leaf="">  v555 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v548 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v549 = (<span class="code-snippet__type">id</span> *)&amp;v548;</span></code><br/><code><span leaf="">  v550 = <span class="code-snippet__number">0x3032000000</span>LL;</span></code><br/><code><span leaf="">  v551 = __Block_byref_object_copy__4684;</span></code><br/><code><span leaf="">  v552 = __Block_byref_object_dispose__4684;</span></code><br/><code><span leaf="">  v553 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v544 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v545 = &amp;v544;</span></code><br/><code><span leaf="">  v546 = <span class="code-snippet__number">0x2020000000</span>LL;</span></code><br/><code><span leaf="">  v547 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v540 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v541 = &amp;v540;</span></code><br/><code><span leaf="">  v542 = <span class="code-snippet__number">0x2020000000</span>LL;</span></code><br/><code><span leaf="">  v543 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v536 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v537 = &amp;v536;</span></code><br/><code><span leaf="">  v538 = <span class="code-snippet__number">0x2020000000</span>LL;</span></code><br/><code><span leaf="">  v539 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v532 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v533 = &amp;v532;</span></code><br/><code><span leaf="">  v534 = <span class="code-snippet__number">0x2020000000</span>LL;</span></code><br/><code><span leaf="">  v535 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  error = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v527 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v528 = &amp;v527;</span></code><br/><code><span leaf="">  v529 = <span class="code-snippet__number">0x2020000000</span>LL;</span></code><br/><code><span leaf="">  v530 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v523 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v524 = &amp;v523;</span></code><br/><code><span leaf="">  v525 = <span class="code-snippet__number">0x2020000000</span>LL;</span></code><br/><code><span leaf="">  v526 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v522 = <span class="code-snippet__number">-1</span>;</span></code><br/><code><span leaf="">  v516 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v517 = &amp;v516;</span></code><br/><code><span leaf="">  v518 = <span class="code-snippet__number">0x3032000000</span>LL;</span></code><br/><code><span leaf="">  v519 = __Block_byref_object_copy__4684;</span></code><br/><code><span leaf="">  v520 = __Block_byref_object_dispose__4684;</span></code><br/><code><span leaf="">  v521 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v510 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v511 = &amp;v510;</span></code><br/><code><span leaf="">  v512 = <span class="code-snippet__number">0x3032000000</span>LL;</span></code><br/><code><span leaf="">  v513 = __Block_byref_object_copy__4684;</span></code><br/><code><span leaf="">  v514 = __Block_byref_object_dispose__4684;</span></code><br/><code><span leaf="">  v515 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v504 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v505 = &amp;v504;</span></code><br/><code><span leaf="">  v506 = <span class="code-snippet__number">0x3032000000</span>LL;</span></code><br/><code><span leaf="">  v507 = __Block_byref_object_copy__4684;</span></code><br/><code><span leaf="">  v508 = __Block_byref_object_dispose__4684;</span></code><br/><code><span leaf="">  v509 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v498 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v499 = &amp;v498;</span></code><br/><code><span leaf="">  v500 = <span class="code-snippet__number">0x3032000000</span>LL;</span></code><br/><code><span leaf="">  v501 = __Block_byref_object_copy__4684;</span></code><br/><code><span leaf="">  v502 = __Block_byref_object_dispose__4684;</span></code><br/><code><span leaf="">  v503 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v492 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v493 = &amp;v492;</span></code><br/><code><span leaf="">  v494 = <span class="code-snippet__number">0x3032000000</span>LL;</span></code><br/><code><span leaf="">  v495 = __Block_byref_object_copy__4684;</span></code><br/><code><span leaf="">  v496 = __Block_byref_object_dispose__4684;</span></code><br/><code><span leaf="">  v497 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v486 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v487 = &amp;v486;</span></code><br/><code><span leaf="">  v488 = <span class="code-snippet__number">0x3032000000</span>LL;</span></code><br/><code><span leaf="">  v489 = __Block_byref_object_copy__4684;</span></code><br/><code><span leaf="">  v490 = __Block_byref_object_dispose__4684;</span></code><br/><code><span leaf="">  v491 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v482 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v483 = (<span class="code-snippet__type">double</span> *)&amp;v482;</span></code><br/><code><span leaf="">  v484 = <span class="code-snippet__number">0x2020000000</span>LL;</span></code><br/><code><span leaf="">  v485 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v481 = <span class="code-snippet__number">0.0</span>;</span></code><br/><code><span leaf="">  v480 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v476 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v477 = &amp;v476;</span></code><br/><code><span leaf="">  v478 = <span class="code-snippet__number">0x2020000000</span>LL;</span></code><br/><code><span leaf="">  v479 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v472 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v473 = (<span class="code-snippet__type">double</span> *)&amp;v472;</span></code><br/><code><span leaf="">  v474 = <span class="code-snippet__number">0x2020000000</span>LL;</span></code><br/><code><span leaf="">  v475 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v5 = (<span class="code-snippet__built_in">NSObject</span> *)objc_retain(*(<span class="code-snippet__type">id</span> *)(a1 + <span class="code-snippet__number">32</span>));</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v5 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    global_queue_364 = j__dispatch_get_global_queue_364(<span class="code-snippet__number">0</span>, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">    v7 = objc_claimAutoreleasedReturnValue_556(global_queue_364);</span></code><br/><code><span leaf="">    objc_release(<span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">    v5 = (<span class="code-snippet__built_in">NSObject</span> *)v7;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !*(_QWORD *)(a1 + <span class="code-snippet__number">48</span>) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    MobileActivationError_0 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                                (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                                <span class="code-snippet__number">989</span>,</span></code><br/><code><span leaf="">                                <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                                <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                                <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid input.&#34;</span>),</span></code><br/><code><span leaf="">                                v2,</span></code><br/><code><span leaf="">                                v3,</span></code><br/><code><span leaf="">                                v4,</span></code><br/><code><span leaf="">                                v384);</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(MobileActivationError_0);</span></code><br/><code><span leaf="">LABEL_20:</span></code><br/><code><span leaf="">    v425 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_21:</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v421 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v422 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v417 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v408 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v409 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v410 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v411 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v412 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v413 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v418 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v419 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    cf = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v15 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_22:</span></code><br/><code><span leaf="">    v406 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v407 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_23:</span></code><br/><code><span leaf="">    v40 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">    v41 = *(<span class="code-snippet__type">void</span> **)(v40 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">    *(_QWORD *)(v40 + <span class="code-snippet__number">40</span>) = v33;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_24;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v425 = objc_alloc_init((Class)off_41CEDE910);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v425 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v34 = createMobileActivationError_0(</span></code><br/><code><span leaf="">            (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">995</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to allocate array.&#34;</span>),</span></code><br/><code><span leaf="">            v8,</span></code><br/><code><span leaf="">            v9,</span></code><br/><code><span leaf="">            v10,</span></code><br/><code><span leaf="">            v384);</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v34);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_20;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v11 = SecTaskCreateFromSelf_87(<span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  v15 = v11;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v11 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v55 = createMobileActivationError_0(</span></code><br/><code><span leaf="">            (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">1003</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create task.&#34;</span>),</span></code><br/><code><span leaf="">            v12,</span></code><br/><code><span leaf="">            v13,</span></code><br/><code><span leaf="">            v14,</span></code><br/><code><span leaf="">            v384);</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v55);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_21;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v422 = (__CFString *)SecTaskCopySigningIdentifier_25(v11, &amp;error);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v422 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v64 = createMobileActivationError_0(</span></code><br/><code><span leaf="">            (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">1009</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">            error,</span></code><br/><code><span leaf="">            <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query code signing identifier.&#34;</span>),</span></code><br/><code><span leaf="">            v16,</span></code><br/><code><span leaf="">            v17,</span></code><br/><code><span leaf="">            v18,</span></code><br/><code><span leaf="">            v384);</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v64);</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v421 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v422 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_47:</span></code><br/><code><span leaf="">    v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v417 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v408 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v409 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v410 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v411 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v412 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v413 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v418 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v419 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_48:</span></code><br/><code><span leaf="">    cf = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_22;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v421 = (<span class="code-snippet__type">void</span> *)SecTaskCopyValueForEntitlement_98(v15, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.mobileactivationd.spi&#34;</span>), &amp;error);</span></code><br/><code><span leaf="">  v19 = isNSNumber_0(v421);</span></code><br/><code><span leaf="">  v20 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v19);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v20 || (v21 = (<span class="code-snippet__type">unsigned</span> __int8)objc_msgSend(v421, <span class="code-snippet__string">&#34;boolValue&#34;</span>), objc_release(v20), (v21 &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span>) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v56 = error;</span></code><br/><code><span leaf="">    v575 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.mobileactivationd.spi&#34;</span>);</span></code><br/><code><span leaf="">    v576 = &amp;__kCFBooleanTrue;</span></code><br/><code><span leaf="">    v41 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE908, <span class="code-snippet__string">&#34;dictionaryWithObjects:forKeys:count:&#34;</span>, &amp;v576, &amp;v575, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">    v60 = createMobileActivationError_0(</span></code><br/><code><span leaf="">            (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">1015</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">-7</span>,</span></code><br/><code><span leaf="">            v56,</span></code><br/><code><span leaf="">            <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing required entitlement: %@&#34;</span>),</span></code><br/><code><span leaf="">            v57,</span></code><br/><code><span leaf="">            v58,</span></code><br/><code><span leaf="">            v59,</span></code><br/><code><span leaf="">            (<span class="code-snippet__type">char</span>)v41);</span></code><br/><code><span leaf="">    v61 = objc_claimAutoreleasedReturnValue_556(v60);</span></code><br/><code><span leaf="">LABEL_45:</span></code><br/><code><span leaf="">    v62 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">    v63 = *(<span class="code-snippet__type">void</span> **)(v62 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">    *(_QWORD *)(v62 + <span class="code-snippet__number">40</span>) = v61;</span></code><br/><code><span leaf="">    objc_release(v63);</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v417 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v408 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v409 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v410 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v411 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v412 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v413 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v418 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v419 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    cf = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v406 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v407 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_24;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v23 = (<span class="code-snippet__type">id</span> *)(a1 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">  v22 = *(<span class="code-snippet__type">void</span> **)(a1 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v22 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    queuea = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v395 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v418 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v419 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v65 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v399 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v406 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v407 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v412 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v413 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v409 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v410 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v417 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v411 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v408 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    cf = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v397 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_50;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v24 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(v22, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">  v25 = isNSArray();</span></code><br/><code><span leaf="">  v26 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v25);</span></code><br/><code><span leaf="">  objc_release(v26);</span></code><br/><code><span leaf="">  objc_release(v24);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v26 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v27 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v27, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.10.1&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v28 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( !(<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v28, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.1&#34;</span>)) )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v120 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">        v121 = (<span class="code-snippet__type">unsigned</span> __int8)objc_msgSend(v120, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.3&#34;</span>));</span></code><br/><code><span leaf="">        objc_release(v120);</span></code><br/><code><span leaf="">        objc_release(v28);</span></code><br/><code><span leaf="">        objc_release(v27);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( (v121 &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">goto</span> LABEL_71;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_15;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      objc_release(v28);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    objc_release(v27);</span></code><br/><code><span leaf="">LABEL_15:</span></code><br/><code><span leaf="">    queue = (<span class="code-snippet__type">void</span> *)SecTaskCopyValueForEntitlement_98(</span></code><br/><code><span leaf="">                      v15,</span></code><br/><code><span leaf="">                      <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.mobileactivationd.device-identifiers&#34;</span>),</span></code><br/><code><span leaf="">                      &amp;error);</span></code><br/><code><span leaf="">    objc_release(v421);</span></code><br/><code><span leaf="">    v29 = isNSNumber_0(queue);</span></code><br/><code><span leaf="">    v30 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v29);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v30 || (v31 = (<span class="code-snippet__type">unsigned</span> __int8)objc_msgSend(queue, <span class="code-snippet__string">&#34;boolValue&#34;</span>), objc_release(v30), (v31 &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span>) )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v94 = error;</span></code><br/><code><span leaf="">      v573 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.mobileactivationd.device-identifiers&#34;</span>);</span></code><br/><code><span leaf="">      v574 = &amp;__kCFBooleanTrue;</span></code><br/><code><span leaf="">      v41 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE908, <span class="code-snippet__string">&#34;dictionaryWithObjects:forKeys:count:&#34;</span>, &amp;v574, &amp;v573, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">      v98 = createMobileActivationError_0(</span></code><br/><code><span leaf="">              (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">              <span class="code-snippet__number">1028</span>,</span></code><br/><code><span leaf="">              <span class="code-snippet__number">-7</span>,</span></code><br/><code><span leaf="">              v94,</span></code><br/><code><span leaf="">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing required entitlement: %@&#34;</span>),</span></code><br/><code><span leaf="">              v95,</span></code><br/><code><span leaf="">              v96,</span></code><br/><code><span leaf="">              v97,</span></code><br/><code><span leaf="">              (<span class="code-snippet__type">char</span>)v41);</span></code><br/><code><span leaf="">      v99 = objc_claimAutoreleasedReturnValue_556(v98);</span></code><br/><code><span leaf="">      v100 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">      v101 = *(<span class="code-snippet__type">void</span> **)(v100 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">      *(_QWORD *)(v100 + <span class="code-snippet__number">40</span>) = v99;</span></code><br/><code><span leaf="">      objc_release(v101);</span></code><br/><code><span leaf="">      v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v417 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v408 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v409 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v410 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v411 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v412 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v413 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v418 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v419 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      cf = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v406 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v407 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v421 = queue;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_24;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v421 = queue;</span></code><br/><code><span leaf="">LABEL_71:</span></code><br/><code><span leaf="">    v122 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v122, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.9.1&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">LABEL_80:</span></code><br/><code><span leaf="">      objc_release(v122);</span></code><br/><code><span leaf="">LABEL_81:</span></code><br/><code><span leaf="">      v41 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">      v130 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1039</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;This API does not support Enterprise Device Attestation OIDs: %@&#34;</span>),</span></code><br/><code><span leaf="">               v127,</span></code><br/><code><span leaf="">               v128,</span></code><br/><code><span leaf="">               v129,</span></code><br/><code><span leaf="">               (<span class="code-snippet__type">char</span>)v41);</span></code><br/><code><span leaf="">      v61 = objc_claimAutoreleasedReturnValue_556(v130);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_45;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v123 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v123, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.9.2&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">LABEL_79:</span></code><br/><code><span leaf="">      objc_release(v123);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_80;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v124 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v124, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.10.1&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">LABEL_78:</span></code><br/><code><span leaf="">      objc_release(v124);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_79;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v125 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v125, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.10.2&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">LABEL_77:</span></code><br/><code><span leaf="">      objc_release(v125);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_78;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v126 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v126, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.10.3&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      objc_release(v126);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_77;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    cfa = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    v420 = (<span class="code-snippet__type">unsigned</span> __int8)objc_msgSend(cfa, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.11.1&#34;</span>));</span></code><br/><code><span leaf="">    objc_release(cfa);</span></code><br/><code><span leaf="">    objc_release(v126);</span></code><br/><code><span leaf="">    objc_release(v125);</span></code><br/><code><span leaf="">    objc_release(v124);</span></code><br/><code><span leaf="">    objc_release(v123);</span></code><br/><code><span leaf="">    objc_release(v122);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (v420 &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_81;</span></code><br/><code><span leaf="">    v168 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v168, <span class="code-snippet__string">&#34;containsObject:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;1.2.840.113635.100.8.6&#34;</span>)) &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v169 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AccessControls&#34;</span>)));</span></code><br/><code><span leaf="">      objc_release(v169);</span></code><br/><code><span leaf="">      objc_release(v168);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( !v169 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v173 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                 (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">1044</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing required option: %@&#34;</span>),</span></code><br/><code><span leaf="">                 v170,</span></code><br/><code><span leaf="">                 v171,</span></code><br/><code><span leaf="">                 v172,</span></code><br/><code><span leaf="">                 (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AccessControls&#34;</span>));</span></code><br/><code><span leaf="">        v33 = objc_claimAutoreleasedReturnValue_556(v173);</span></code><br/><code><span leaf="">LABEL_139:</span></code><br/><code><span leaf="">        v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_47;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      objc_release(v168);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v200 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;KeychainLabel&#34;</span>)));</span></code><br/><code><span leaf="">  v201 = isNSString_0();</span></code><br/><code><span leaf="">  v202 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v201);</span></code><br/><code><span leaf="">  objc_release(v202);</span></code><br/><code><span leaf="">  objc_release(v200);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v202 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (isRunningInRootLaunchdContext() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">      || (isRunningInRecovery() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">      || (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)isRunningInDiagnosticsMode() )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v206 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1058</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Option (%@) not allowed for processes running in the system context or diagnostics mode.&#34;</span>),</span></code><br/><code><span leaf="">               v203,</span></code><br/><code><span leaf="">               v204,</span></code><br/><code><span leaf="">               v205,</span></code><br/><code><span leaf="">               (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;KeychainLabel&#34;</span>));</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v206);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_139;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v222 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationData&#34;</span>)));</span></code><br/><code><span leaf="">    v223 = isNSData_0();</span></code><br/><code><span leaf="">    v224 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v223);</span></code><br/><code><span leaf="">    objc_release(v224);</span></code><br/><code><span leaf="">    objc_release(v222);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v224 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v228 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1063</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Keychain (%@) not supported with %@.&#34;</span>),</span></code><br/><code><span leaf="">               v225,</span></code><br/><code><span leaf="">               v226,</span></code><br/><code><span leaf="">               v227,</span></code><br/><code><span leaf="">               (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;KeychainLabel&#34;</span>));</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v228);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_139;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v418 = (<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;KeychainLabel&#34;</span>)));</span></code><br/><code><span leaf="">    v417 = (<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE948, <span class="code-snippet__string">&#34;stringWithFormat:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;%@-rk&#34;</span>), v418));</span></code><br/><code><span leaf="">    v412 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE948, <span class="code-snippet__string">&#34;stringWithFormat:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;%@-leaf&#34;</span>), v418));</span></code><br/><code><span leaf="">    v409 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE948, <span class="code-snippet__string">&#34;stringWithFormat:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;%@-intermediate&#34;</span>), v418));</span></code><br/><code><span leaf="">    v413 = (<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE948, <span class="code-snippet__string">&#34;stringWithFormat:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;%@-combined&#34;</span>), v418));</span></code><br/><code><span leaf="">    v411 = (<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE948, <span class="code-snippet__string">&#34;stringWithFormat:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;%@-monotonic-clock&#34;</span>), v418));</span></code><br/><code><span leaf="">    v408 = (<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE948, <span class="code-snippet__string">&#34;stringWithFormat:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;%@-server-timestamp&#34;</span>), v418));</span></code><br/><code><span leaf="">    v384 = (<span class="code-snippet__type">char</span>)v418;</span></code><br/><code><span leaf="">    v410 = (<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE948, <span class="code-snippet__string">&#34;stringWithFormat:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;%@-rtc-reset-count&#34;</span>)));</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v417 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v418 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v412 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v413 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v409 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v410 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v411 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v408 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v207 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;KeychainAccessGroup&#34;</span>)));</span></code><br/><code><span leaf="">  v208 = isNSString_0();</span></code><br/><code><span leaf="">  v209 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v208);</span></code><br/><code><span leaf="">  objc_release(v209);</span></code><br/><code><span leaf="">  objc_release(v207);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v209 )</span></code><br/><code><span leaf="">    v210 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;KeychainAccessGroup&#34;</span>)));</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    v210 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v418 &amp;&amp; !v210 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v211 = objc_retain(v422);</span></code><br/><code><span leaf="">    v210 = (__int64)v422;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v419 = (<span class="code-snippet__type">id</span>)v210;</span></code><br/><code><span leaf="">  v212 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;IgnoreExistingKeychainItems&#34;</span>)));</span></code><br/><code><span leaf="">  v213 = isNSNumber_0(v212);</span></code><br/><code><span leaf="">  v214 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v213);</span></code><br/><code><span leaf="">  objc_release(v214);</span></code><br/><code><span leaf="">  objc_release(v212);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v214 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v215 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;IgnoreExistingKeychainItems&#34;</span>)));</span></code><br/><code><span leaf="">    v216 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v215, <span class="code-snippet__string">&#34;boolValue&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v215);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v216 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v217 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AccessControls&#34;</span>)));</span></code><br/><code><span leaf="">  objc_release(v217);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v217 )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_163;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (isRunningInRootLaunchdContext() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">    || (isRunningInRecovery() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">    || (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)isRunningInDiagnosticsMode() )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v221 = createMobileActivationError_0(</span></code><br/><code><span leaf="">             (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">1092</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Option (%@) not allowed for processes running in the system context or diagnostics mode.&#34;</span>),</span></code><br/><code><span leaf="">             v218,</span></code><br/><code><span leaf="">             v219,</span></code><br/><code><span leaf="">             v220,</span></code><br/><code><span leaf="">             (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AccessControls&#34;</span>));</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v221);</span></code><br/><code><span leaf="">LABEL_155:</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_48;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v229 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationData&#34;</span>)));</span></code><br/><code><span leaf="">  v230 = isNSData_0();</span></code><br/><code><span leaf="">  v231 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v230);</span></code><br/><code><span leaf="">  objc_release(v231);</span></code><br/><code><span leaf="">  objc_release(v229);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v231 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v235 = createMobileActivationError_0(</span></code><br/><code><span leaf="">             (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">1097</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ACLs (%@) not supported with %@.&#34;</span>),</span></code><br/><code><span leaf="">             v232,</span></code><br/><code><span leaf="">             v233,</span></code><br/><code><span leaf="">             v234,</span></code><br/><code><span leaf="">             (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AccessControls&#34;</span>));</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v235);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_155;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v236 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AccessControls&#34;</span>)));</span></code><br/><code><span leaf="">  v237 = <span class="code-snippet__built_in">CFGetTypeID_254</span>(v236);</span></code><br/><code><span leaf="">  TypeID_4 = SecAccessControlGetTypeID_4();</span></code><br/><code><span leaf="">  objc_release(v236);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v237 == TypeID_4 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    cf = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;AccessControls&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(cf);</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRetain_262</span>(cf);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">LABEL_163:</span></code><br/><code><span leaf="">    cf = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v239 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;reuseExistingKey&#34;</span>)));</span></code><br/><code><span leaf="">  v240 = isNSNumber_0(v239);</span></code><br/><code><span leaf="">  v241 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v240);</span></code><br/><code><span leaf="">  objc_release(v241);</span></code><br/><code><span leaf="">  objc_release(v239);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v241 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v242 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;reuseExistingKey&#34;</span>)));</span></code><br/><code><span leaf="">    v415 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v242, <span class="code-snippet__string">&#34;boolValue&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v242);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v415 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v243 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UseSoftwareGeneratedKey&#34;</span>)));</span></code><br/><code><span leaf="">  v244 = isNSNumber_0(v243);</span></code><br/><code><span leaf="">  v245 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v244);</span></code><br/><code><span leaf="">  objc_release(v245);</span></code><br/><code><span leaf="">  objc_release(v243);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v245 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v246 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;UseSoftwareGeneratedKey&#34;</span>)));</span></code><br/><code><span leaf="">    queueb = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v246, <span class="code-snippet__string">&#34;boolValue&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v246);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    queueb = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v247 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;scrtAttestation&#34;</span>)));</span></code><br/><code><span leaf="">  v248 = isNSNumber_0(v247);</span></code><br/><code><span leaf="">  v249 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v248);</span></code><br/><code><span leaf="">  objc_release(v249);</span></code><br/><code><span leaf="">  objc_release(v247);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v249 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v250 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;scrtAttestation&#34;</span>)));</span></code><br/><code><span leaf="">    v392 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v250, <span class="code-snippet__string">&#34;boolValue&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v250);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v392 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v251 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationData&#34;</span>)));</span></code><br/><code><span leaf="">  v252 = isNSData_0();</span></code><br/><code><span leaf="">  v253 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v252);</span></code><br/><code><span leaf="">  objc_release(v253);</span></code><br/><code><span leaf="">  objc_release(v251);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v253 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v254 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationPublicKey&#34;</span>)));</span></code><br/><code><span leaf="">    v255 = isNSData_0();</span></code><br/><code><span leaf="">    v256 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v255);</span></code><br/><code><span leaf="">    objc_release(v256);</span></code><br/><code><span leaf="">    objc_release(v254);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v256 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v279 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1121</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing required option for %@.&#34;</span>),</span></code><br/><code><span leaf="">               v257,</span></code><br/><code><span leaf="">               v258,</span></code><br/><code><span leaf="">               v259,</span></code><br/><code><span leaf="">               (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationPublicKey&#34;</span>));</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v279);</span></code><br/><code><span leaf="">      v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_22;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v407 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationData&#34;</span>)));</span></code><br/><code><span leaf="">    v406 = (<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ClientAttestationPublicKey&#34;</span>)));</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v406 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v407 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v260 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ReturnReferenceDate&#34;</span>)));</span></code><br/><code><span leaf="">  v261 = isNSNumber_0(v260);</span></code><br/><code><span leaf="">  v262 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v261);</span></code><br/><code><span leaf="">  objc_release(v262);</span></code><br/><code><span leaf="">  objc_release(v260);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v262 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v263 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;ReturnReferenceDate&#34;</span>)));</span></code><br/><code><span leaf="">    v264 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v263, <span class="code-snippet__string">&#34;boolValue&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v263);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v264 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v265 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;SkipNetworkRequest&#34;</span>)));</span></code><br/><code><span leaf="">  v266 = isNSNumber_0(v265);</span></code><br/><code><span leaf="">  v267 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v266);</span></code><br/><code><span leaf="">  objc_release(v267);</span></code><br/><code><span leaf="">  objc_release(v265);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v267 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v268 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;SkipNetworkRequest&#34;</span>)));</span></code><br/><code><span leaf="">    v269 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v268, <span class="code-snippet__string">&#34;boolValue&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v268);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v269 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v270 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;DeleteExistingKeysAndCerts&#34;</span>)));</span></code><br/><code><span leaf="">  v271 = isNSNumber_0(v270);</span></code><br/><code><span leaf="">  v272 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v271);</span></code><br/><code><span leaf="">  objc_release(v272);</span></code><br/><code><span leaf="">  objc_release(v270);</span></code><br/><code><span leaf="">  v399 = v415 != <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v65 = v216 != <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v397 = queueb != <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v395 = v264 != <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  queuea = v269 != <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v272 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v273 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;DeleteExistingKeysAndCerts&#34;</span>)));</span></code><br/><code><span leaf="">    v416 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v273, <span class="code-snippet__string">&#34;boolValue&#34;</span>);</span></code><br/><code><span leaf="">    objc_release(v273);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v417 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v417 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( !v416 )</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_199;</span></code><br/><code><span leaf="">LABEL_194:</span></code><br/><code><span leaf="">      v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( v418 &amp;&amp; v419 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        delete_keychain_data(v419, v411, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">        delete_keychain_data(v419, v410, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">        delete_keychain_data(v419, v408, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">        delete_keychain_data(v419, v413, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">        delete_keychain_item(v419, v417, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">        delete_certificate(v419, v412, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">        delete_certificate(v419, v409, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">        v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_25;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v417 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v417 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_199;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    LOBYTE(v416) = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v392 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v393 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v417, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-scrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v417);</span></code><br/><code><span leaf="">    v389 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v412, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-scrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v412);</span></code><br/><code><span leaf="">    v274 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v409, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-scrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v409);</span></code><br/><code><span leaf="">    v275 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v413, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-scrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v413);</span></code><br/><code><span leaf="">    v276 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v411, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-scrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v411);</span></code><br/><code><span leaf="">    v277 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v408, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-scrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v408);</span></code><br/><code><span leaf="">    v278 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v410, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-scrt&#34;</span>)));</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v393 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v417, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-ucrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v417);</span></code><br/><code><span leaf="">    v389 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v412, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-ucrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v412);</span></code><br/><code><span leaf="">    v274 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v409, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-ucrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v409);</span></code><br/><code><span leaf="">    v275 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v413, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-ucrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v413);</span></code><br/><code><span leaf="">    v276 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v411, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-ucrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v411);</span></code><br/><code><span leaf="">    v277 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v408, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-ucrt&#34;</span>)));</span></code><br/><code><span leaf="">    objc_release(v408);</span></code><br/><code><span leaf="">    v278 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v410, <span class="code-snippet__string">&#34;stringByAppendingString:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;-ucrt&#34;</span>)));</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v280 = (<span class="code-snippet__type">void</span> *)v278;</span></code><br/><code><span leaf="">  objc_release(v410);</span></code><br/><code><span leaf="">  v408 = (<span class="code-snippet__type">id</span>)v277;</span></code><br/><code><span leaf="">  v409 = (<span class="code-snippet__type">void</span> *)v274;</span></code><br/><code><span leaf="">  v410 = v280;</span></code><br/><code><span leaf="">  v411 = (<span class="code-snippet__type">id</span>)v276;</span></code><br/><code><span leaf="">  v417 = (<span class="code-snippet__type">id</span>)v393;</span></code><br/><code><span leaf="">  v412 = (<span class="code-snippet__type">void</span> *)v389;</span></code><br/><code><span leaf="">  v413 = (<span class="code-snippet__type">id</span>)v275;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (v416 &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_194;</span></code><br/><code><span leaf="">LABEL_199:</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v407 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( cf )</span></code><br/><code><span leaf="">      <span class="code-snippet__built_in">CFRelease_438</span>(cf);</span></code><br/><code><span leaf="">    v281 = SecAccessControlCreate_3(<span class="code-snippet__number">0</span>, &amp;error);</span></code><br/><code><span leaf="">    cf = (<span class="code-snippet__type">void</span> *)v281;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v281 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v289 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1195</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">               error,</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create access control.&#34;</span>),</span></code><br/><code><span leaf="">               v282,</span></code><br/><code><span leaf="">               v283,</span></code><br/><code><span leaf="">               v284,</span></code><br/><code><span leaf="">               v384);</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v289);</span></code><br/><code><span leaf="">      v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      cf = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_23;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (SecAccessControlSetProtection_3(v281, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;f&#34;</span>), &amp;error) &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v288 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1200</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">               error,</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to set ACL protection to %@.&#34;</span>),</span></code><br/><code><span leaf="">               v285,</span></code><br/><code><span leaf="">               v286,</span></code><br/><code><span leaf="">               v287,</span></code><br/><code><span leaf="">               (<span class="code-snippet__type">char</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;f&#34;</span>));</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v288);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_86;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v407 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">LABEL_50:</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (isRunningInRecovery() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v69 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v102 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">    v471 = *(<span class="code-snippet__type">id</span> *)(v102 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">    v69 = isAutomaticTimeEnabledWithError(&amp;v471);</span></code><br/><code><span leaf="">    j__objc_storeStrong_550((<span class="code-snippet__type">id</span> *)(v102 + <span class="code-snippet__number">40</span>), v471);</span></code><br/><code><span leaf="">    v106 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">    v109 = *(<span class="code-snippet__type">void</span> **)(v106 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">    v108 = (<span class="code-snippet__type">id</span> *)(v106 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">    v107 = v109;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (v69 &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> &amp;&amp; v107 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v110 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1212</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">               v107,</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query automatic time state.&#34;</span>),</span></code><br/><code><span leaf="">               v103,</span></code><br/><code><span leaf="">               v104,</span></code><br/><code><span leaf="">               v105,</span></code><br/><code><span leaf="">               v384);</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v110);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_86;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v470 = v107;</span></code><br/><code><span leaf="">    v111 = copyMonotonicClock(&amp;v470);</span></code><br/><code><span leaf="">    j__objc_storeStrong_550(v108, v470);</span></code><br/><code><span leaf="">    v483[<span class="code-snippet__number">3</span>] = v111;</span></code><br/><code><span leaf="">    v115 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">    v118 = *(<span class="code-snippet__type">void</span> **)(v115 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">    v117 = (<span class="code-snippet__type">id</span> *)(v115 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">    v116 = v118;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v111 == <span class="code-snippet__number">0.0</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v119 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1218</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">               v116,</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query monotonic clock.&#34;</span>),</span></code><br/><code><span leaf="">               v112,</span></code><br/><code><span leaf="">               v113,</span></code><br/><code><span leaf="">               v114,</span></code><br/><code><span leaf="">               v384);</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v119);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_86;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v469 = v116;</span></code><br/><code><span leaf="">    v131 = copyRTCResetCountWithError(&amp;v469);</span></code><br/><code><span leaf="">    j__objc_storeStrong_550(v117, v469);</span></code><br/><code><span leaf="">    *((_DWORD *)v477 + <span class="code-snippet__number">6</span>) = v131;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v131 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v132 = *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( v132 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v133 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                 (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">1224</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                 v132,</span></code><br/><code><span leaf="">                 <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query RTC reset count.&#34;</span>),</span></code><br/><code><span leaf="">                 v66,</span></code><br/><code><span leaf="">                 v67,</span></code><br/><code><span leaf="">                 v68,</span></code><br/><code><span leaf="">                 v384);</span></code><br/><code><span leaf="">        v33 = objc_claimAutoreleasedReturnValue_556(v133);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_86;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v65 || !v418 )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_248;</span></code><br/><code><span leaf="">  v70 = copy_keychain_item(v419, v417, *v23, &amp;v522, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  v533[<span class="code-snippet__number">3</span>] = v70;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v522 != <span class="code-snippet__number">-25300</span> &amp;&amp; v522 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v134 = createMobileActivationError_0(</span></code><br/><code><span leaf="">             (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">1234</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">             *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">             <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query existing reference key (%@/%@): %d&#34;</span>),</span></code><br/><code><span leaf="">             v71,</span></code><br/><code><span leaf="">             v72,</span></code><br/><code><span leaf="">             v73,</span></code><br/><code><span leaf="">             (<span class="code-snippet__type">char</span>)v419);</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v134);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_86;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v74 = copy_keychain_data(v419, v413, &amp;v522, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  v414 = (<span class="code-snippet__built_in">CFDataRef</span>)objc_claimAutoreleasedReturnValue_556(v74);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v522 != <span class="code-snippet__number">-25300</span> &amp;&amp; v522 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v135 = createMobileActivationError_0(</span></code><br/><code><span leaf="">             (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">1240</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">             *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">             <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query existing leaf/intermediate certificates (%@/%@): %d&#34;</span>),</span></code><br/><code><span leaf="">             v75,</span></code><br/><code><span leaf="">             v76,</span></code><br/><code><span leaf="">             v77,</span></code><br/><code><span leaf="">             (<span class="code-snippet__type">char</span>)v419);</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v135);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_88;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v414 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    load_certificate(v528 + <span class="code-snippet__number">3</span>, v419, v412, &amp;v522, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v522 != <span class="code-snippet__number">-25300</span> &amp;&amp; v522 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v161 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1272</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">               *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query existing leaf certificate (%@/%@): %d&#34;</span>),</span></code><br/><code><span leaf="">               v137,</span></code><br/><code><span leaf="">               v138,</span></code><br/><code><span leaf="">               v139,</span></code><br/><code><span leaf="">               (<span class="code-snippet__type">char</span>)v419);</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v161);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      load_certificate(v524 + <span class="code-snippet__number">3</span>, v419, v409, &amp;v522, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( v522 != <span class="code-snippet__number">-25300</span> &amp;&amp; v522 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v196 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                 (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">1278</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                 *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">                 <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query existing intermediate certificate (%@/%@): %d&#34;</span>),</span></code><br/><code><span leaf="">                 v140,</span></code><br/><code><span leaf="">                 v141,</span></code><br/><code><span leaf="">                 v142,</span></code><br/><code><span leaf="">                 (<span class="code-snippet__type">char</span>)v419);</span></code><br/><code><span leaf="">        v33 = objc_claimAutoreleasedReturnValue_556(v196);</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( !v528[<span class="code-snippet__number">3</span>] || !v524[<span class="code-snippet__number">3</span>] )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">goto</span> LABEL_104;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        v143 = objc_alloc_init((Class)off_41CEDE9A8);</span></code><br/><code><span leaf="">        v144 = (<span class="code-snippet__type">void</span> *)v517[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">        v517[<span class="code-snippet__number">5</span>] = (__int64)v143;</span></code><br/><code><span leaf="">        objc_release(v144);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( v517[<span class="code-snippet__number">5</span>] )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v151 = SecCertificateCopyData_23((SecCertificateRef)v528[<span class="code-snippet__number">3</span>]);</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">if</span> ( !v151 )</span></code><br/><code><span leaf="">          {</span></code><br/><code><span leaf="">            v377 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                     (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__number">1291</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to copy certificate data.&#34;</span>),</span></code><br/><code><span leaf="">                     v148,</span></code><br/><code><span leaf="">                     v149,</span></code><br/><code><span leaf="">                     v150,</span></code><br/><code><span leaf="">                     v384);</span></code><br/><code><span leaf="">            v33 = objc_claimAutoreleasedReturnValue_556(v377);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">goto</span> LABEL_86;</span></code><br/><code><span leaf="">          }</span></code><br/><code><span leaf="">          objc_msgSend((<span class="code-snippet__type">id</span>)v517[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;appendData:&#34;</span>, v151);</span></code><br/><code><span leaf="">          v414 = SecCertificateCopyData_23((SecCertificateRef)v524[<span class="code-snippet__number">3</span>]);</span></code><br/><code><span leaf="">          objc_release(v151);</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">if</span> ( !v414 )</span></code><br/><code><span leaf="">          {</span></code><br/><code><span leaf="">            v379 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                     (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__number">1299</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to copy certificate data.&#34;</span>),</span></code><br/><code><span leaf="">                     v152,</span></code><br/><code><span leaf="">                     v153,</span></code><br/><code><span leaf="">                     v154,</span></code><br/><code><span leaf="">                     v384);</span></code><br/><code><span leaf="">            v33 = objc_claimAutoreleasedReturnValue_556(v379);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">goto</span> LABEL_86;</span></code><br/><code><span leaf="">          }</span></code><br/><code><span leaf="">          objc_msgSend((<span class="code-snippet__type">id</span>)v517[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;appendData:&#34;</span>, v414);</span></code><br/><code><span leaf="">          v155 = v517[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">          v156 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">          v467 = *(<span class="code-snippet__type">id</span> *)(v156 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">          v157 = store_keychain_data(v155, v419, v413, &amp;v467);</span></code><br/><code><span leaf="">          j__objc_storeStrong_550((<span class="code-snippet__type">id</span> *)(v156 + <span class="code-snippet__number">40</span>), v467);</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">if</span> ( (v157 &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">          {</span></code><br/><code><span leaf="">            delete_certificate(v419, v412, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">            delete_certificate(v419, v409, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">LABEL_104:</span></code><br/><code><span leaf="">            v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">goto</span> LABEL_105;</span></code><br/><code><span leaf="">          }</span></code><br/><code><span leaf="">          v380 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                   (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                   <span class="code-snippet__number">1306</span>,</span></code><br/><code><span leaf="">                   <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                   *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">                   <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to store leaf/intermediate certificates.&#34;</span>),</span></code><br/><code><span leaf="">                   v158,</span></code><br/><code><span leaf="">                   v159,</span></code><br/><code><span leaf="">                   v160,</span></code><br/><code><span leaf="">                   v384);</span></code><br/><code><span leaf="">          v33 = objc_claimAutoreleasedReturnValue_556(v380);</span></code><br/><code><span leaf="">LABEL_88:</span></code><br/><code><span leaf="">          v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">goto</span> LABEL_23;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        v199 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                 (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">1285</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to allocate data.&#34;</span>),</span></code><br/><code><span leaf="">                 v145,</span></code><br/><code><span leaf="">                 v146,</span></code><br/><code><span leaf="">                 v147,</span></code><br/><code><span leaf="">                 v384);</span></code><br/><code><span leaf="">        v33 = objc_claimAutoreleasedReturnValue_556(v199);</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">LABEL_86:</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v39 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v414 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_23;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v78 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">  obj = *(<span class="code-snippet__type">id</span> *)(v78 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">  v79 = parseDERCertificatesFromChain_0(v414, &amp;obj);</span></code><br/><code><span leaf="">  v39 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v79);</span></code><br/><code><span leaf="">  j__objc_storeStrong_550((<span class="code-snippet__type">id</span> *)(v78 + <span class="code-snippet__number">40</span>), obj);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v39 || objc_msgSend(v39, <span class="code-snippet__string">&#34;count&#34;</span>) != (<span class="code-snippet__type">void</span> *)<span class="code-snippet__number">2</span> )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v136 = createMobileActivationError_0(</span></code><br/><code><span leaf="">             (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">1251</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">             *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">             <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to parse DER certificate chain.&#34;</span>),</span></code><br/><code><span leaf="">             v80,</span></code><br/><code><span leaf="">             v81,</span></code><br/><code><span leaf="">             v82,</span></code><br/><code><span leaf="">             v384);</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v136);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_90;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v83 = (<span class="code-snippet__keyword">const</span> __CFData *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(v39, <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">0</span>));</span></code><br/><code><span leaf="">  v84 = SecCertificateCreateWithData_33(<span class="code-snippet__number">0</span>, v83);</span></code><br/><code><span leaf="">  v528[<span class="code-snippet__number">3</span>] = (__int64)v84;</span></code><br/><code><span leaf="">  objc_release(v83);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v528[<span class="code-snippet__number">3</span>] )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v197 = createMobileActivationError_0(</span></code><br/><code><span leaf="">             (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">1257</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create certificate from DER data.&#34;</span>),</span></code><br/><code><span leaf="">             v85,</span></code><br/><code><span leaf="">             v86,</span></code><br/><code><span leaf="">             v87,</span></code><br/><code><span leaf="">             v384);</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v197);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_90;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v88 = (<span class="code-snippet__keyword">const</span> __CFData *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(v39, <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">  v89 = SecCertificateCreateWithData_33(<span class="code-snippet__number">0</span>, v88);</span></code><br/><code><span leaf="">  v524[<span class="code-snippet__number">3</span>] = (__int64)v89;</span></code><br/><code><span leaf="">  objc_release(v88);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v524[<span class="code-snippet__number">3</span>] )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v93 = createMobileActivationError_0(</span></code><br/><code><span leaf="">            (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">1263</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create certificate from DER data.&#34;</span>),</span></code><br/><code><span leaf="">            v90,</span></code><br/><code><span leaf="">            v91,</span></code><br/><code><span leaf="">            v92,</span></code><br/><code><span leaf="">            v384);</span></code><br/><code><span leaf="">    v33 = objc_claimAutoreleasedReturnValue_556(v93);</span></code><br/><code><span leaf="">LABEL_90:</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_23;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">LABEL_105:</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (isRunningInRecovery() &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v174 = copy_keychain_data(v419, v411, &amp;v522, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">    v175 = objc_claimAutoreleasedReturnValue_556(v174);</span></code><br/><code><span leaf="">    v176 = (<span class="code-snippet__type">void</span> *)v487[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">    v487[<span class="code-snippet__number">5</span>] = v175;</span></code><br/><code><span leaf="">    objc_release(v176);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v522 != <span class="code-snippet__number">-25300</span> &amp;&amp; v522 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v198 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1318</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">               *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query existing motononic time (%@/%@): %d&#34;</span>),</span></code><br/><code><span leaf="">               v177,</span></code><br/><code><span leaf="">               v178,</span></code><br/><code><span leaf="">               v179,</span></code><br/><code><span leaf="">               (<span class="code-snippet__type">char</span>)v419);</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v198);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_90;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v180 = (<span class="code-snippet__type">void</span> *)v487[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v180 )</span></code><br/><code><span leaf="">      objc_msgSend(v180, <span class="code-snippet__string">&#34;getBytes:length:&#34;</span>, &amp;v481, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">    v181 = copy_keychain_data(v419, v410, &amp;v522, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">    v182 = objc_claimAutoreleasedReturnValue_556(v181);</span></code><br/><code><span leaf="">    v183 = (<span class="code-snippet__type">void</span> *)v511[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">    v511[<span class="code-snippet__number">5</span>] = v182;</span></code><br/><code><span leaf="">    objc_release(v183);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v522 != <span class="code-snippet__number">-25300</span> &amp;&amp; v522 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v290 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1328</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">               *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query existing RTC reset count (%@/%@): %d&#34;</span>),</span></code><br/><code><span leaf="">               v184,</span></code><br/><code><span leaf="">               v185,</span></code><br/><code><span leaf="">               v186,</span></code><br/><code><span leaf="">               (<span class="code-snippet__type">char</span>)v419);</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v290);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_90;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v187 = (<span class="code-snippet__type">void</span> *)v511[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v187 )</span></code><br/><code><span leaf="">      objc_msgSend(v187, <span class="code-snippet__string">&#34;getBytes:length:&#34;</span>, &amp;v480, <span class="code-snippet__number">4</span>);</span></code><br/><code><span leaf="">    v188 = copy_keychain_data(v419, v408, &amp;v522, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">    v189 = objc_claimAutoreleasedReturnValue_556(v188);</span></code><br/><code><span leaf="">    v190 = (<span class="code-snippet__type">void</span> *)v505[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">    v505[<span class="code-snippet__number">5</span>] = v189;</span></code><br/><code><span leaf="">    objc_release(v190);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v522 != <span class="code-snippet__number">-25300</span> &amp;&amp; v522 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v378 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1338</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">               *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to query existing server timestamp (%@/%@): %d&#34;</span>),</span></code><br/><code><span leaf="">               v66,</span></code><br/><code><span leaf="">               v67,</span></code><br/><code><span leaf="">               v68,</span></code><br/><code><span leaf="">               (<span class="code-snippet__type">char</span>)v419);</span></code><br/><code><span leaf="">      v33 = objc_claimAutoreleasedReturnValue_556(v378);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_90;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v191 = (<span class="code-snippet__type">void</span> *)v505[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v191 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      objc_msgSend(v191, <span class="code-snippet__string">&#34;getBytes:length:&#34;</span>, v473 + <span class="code-snippet__number">3</span>, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">      v192 = objc_alloc((Class)off_41CEDE958);</span></code><br/><code><span leaf="">      v193 = objc_msgSend(v192, <span class="code-snippet__string">&#34;initWithTimeIntervalSinceReferenceDate:&#34;</span>, v473[<span class="code-snippet__number">3</span>]);</span></code><br/><code><span leaf="">      v194 = (<span class="code-snippet__type">void</span> *)v493[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">      v493[<span class="code-snippet__number">5</span>] = (__int64)v193;</span></code><br/><code><span leaf="">      objc_release(v194);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( !v493[<span class="code-snippet__number">5</span>] )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v195 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                 (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">1347</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create date from server timestamp.&#34;</span>),</span></code><br/><code><span leaf="">                 v66,</span></code><br/><code><span leaf="">                 v67,</span></code><br/><code><span leaf="">                 v68,</span></code><br/><code><span leaf="">                 v384);</span></code><br/><code><span leaf="">        v33 = objc_claimAutoreleasedReturnValue_556(v195);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_90;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v533[<span class="code-snippet__number">3</span>] || !v528[<span class="code-snippet__number">3</span>] )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_130:</span></code><br/><code><span leaf="">    v391 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_211;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v162 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">  v163 = isNSArray();</span></code><br/><code><span leaf="">  v164 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v163);</span></code><br/><code><span leaf="">  objc_release(v164);</span></code><br/><code><span leaf="">  objc_release(v162);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v164 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v165 = v528[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">    v166 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(*v23, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;OIDSToInclude&#34;</span>)));</span></code><br/><code><span leaf="">    v167 = copyCertificateOIDsThatDiffer(v165, v166);</span></code><br/><code><span leaf="">    v38 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(v167);</span></code><br/><code><span leaf="">    objc_release(v166);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v38 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !objc_msgSend(v38, <span class="code-snippet__string">&#34;count&#34;</span>) )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_130;</span></code><br/><code><span leaf="">  v291 = createMobileActivationError_0(</span></code><br/><code><span leaf="">           (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">           <span class="code-snippet__number">1365</span>,</span></code><br/><code><span leaf="">           <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">           <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">           <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Mismatch in requested OIDs and existing certificate&#39;s OIDs (%@).&#34;</span>),</span></code><br/><code><span leaf="">           v66,</span></code><br/><code><span leaf="">           v67,</span></code><br/><code><span leaf="">           v68,</span></code><br/><code><span leaf="">           (<span class="code-snippet__type">char</span>)v38);</span></code><br/><code><span leaf="">  v292 = objc_claimAutoreleasedReturnValue_556(v291);</span></code><br/><code><span leaf="">  v293 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">  v294 = *(<span class="code-snippet__type">void</span> **)(v293 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">  *(_QWORD *)(v293 + <span class="code-snippet__number">40</span>) = v292;</span></code><br/><code><span leaf="">  objc_release(v294);</span></code><br/><code><span leaf="">  v391 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">LABEL_211:</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v533[<span class="code-snippet__number">3</span>] )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)isFactoryMFiCertificate(v419, v528[<span class="code-snippet__number">3</span>]) )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v295 = v533[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">      v296 = a1 + <span class="code-snippet__number">56</span>;</span></code><br/><code><span leaf="">      v297 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">      v466 = *(<span class="code-snippet__type">id</span> *)(v297 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">      valid = validSecureEnclaveReferenceKey(v295, <span class="code-snippet__number">1</span>, <span class="code-snippet__number">0</span>, &amp;v466);</span></code><br/><code><span leaf="">      j__objc_storeStrong_550((<span class="code-snippet__type">id</span> *)(v297 + <span class="code-snippet__number">40</span>), v466);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( !valid )</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_221;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v299 = v533[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v299 )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_219;</span></code><br/><code><span leaf="">  v296 = a1 + <span class="code-snippet__number">56</span>;</span></code><br/><code><span leaf="">  v300 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">  v465 = *(<span class="code-snippet__type">id</span> *)(v300 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">  v301 = validSecureEnclaveReferenceKey(v299, <span class="code-snippet__number">0</span>, <span class="code-snippet__number">0</span>, &amp;v465);</span></code><br/><code><span leaf="">  j__objc_storeStrong_550((<span class="code-snippet__type">id</span> *)(v300 + <span class="code-snippet__number">40</span>), v465);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v301</span></code><br/><code><span leaf="">    || v533[<span class="code-snippet__number">3</span>]</span></code><br/><code><span leaf="">    &amp;&amp; v528[<span class="code-snippet__number">3</span>]</span></code><br/><code><span leaf="">    &amp;&amp; (v302 = *(_QWORD *)(*(_QWORD *)v296 + <span class="code-snippet__number">8</span>LL),</span></code><br/><code><span leaf="">        v464 = *(<span class="code-snippet__type">id</span> *)(v302 + <span class="code-snippet__number">40</span>),</span></code><br/><code><span leaf="">        v303 = certificatePublicKeyMatchesBIKPublicKey(),</span></code><br/><code><span leaf="">        j__objc_storeStrong_550((<span class="code-snippet__type">id</span> *)(v302 + <span class="code-snippet__number">40</span>), v464),</span></code><br/><code><span leaf="">        (v303 &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span>) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">LABEL_221:</span></code><br/><code><span leaf="">    v304 = createMobileActivationError_0(</span></code><br/><code><span leaf="">             (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">1385</span>,</span></code><br/><code><span leaf="">             <span class="code-snippet__number">-2</span>,</span></code><br/><code><span leaf="">             *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)v296 + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">             <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid reference key.&#34;</span>),</span></code><br/><code><span leaf="">             v66,</span></code><br/><code><span leaf="">             v67,</span></code><br/><code><span leaf="">             v68,</span></code><br/><code><span leaf="">             v384);</span></code><br/><code><span leaf="">    v305 = objc_claimAutoreleasedReturnValue_556(v304);</span></code><br/><code><span leaf="">    v306 = *(_QWORD *)(*(_QWORD *)v296 + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">    v307 = *(<span class="code-snippet__type">void</span> **)(v306 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">    *(_QWORD *)(v306 + <span class="code-snippet__number">40</span>) = v305;</span></code><br/><code><span leaf="">    objc_release(v307);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">LABEL_219:</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( !v391 )</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_231;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v308 = objc_retain(&amp;_os_log_default_0);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_632((os_log_t)&amp;_os_log_default_0, OS_LOG_TYPE_DEFAULT) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v309 = *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL);</span></code><br/><code><span leaf="">    *(_DWORD *)buf = <span class="code-snippet__number">138412290</span>;</span></code><br/><code><span leaf="">    v557 = v309;</span></code><br/><code><span leaf="">    _os_log_impl_600(</span></code><br/><code><span leaf="">      &amp;dword_40E4FC000,</span></code><br/><code><span leaf="">      (os_log_t)&amp;_os_log_default_0,</span></code><br/><code><span leaf="">      OS_LOG_TYPE_DEFAULT,</span></code><br/><code><span leaf="">      <span class="code-snippet__string">&#34;Deleting invalid keys/certificates: %@&#34;</span>,</span></code><br/><code><span leaf="">      buf,</span></code><br/><code><span leaf="">      <span class="code-snippet__number">0xC</span>u);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  objc_release(&amp;_os_log_default_0);</span></code><br/><code><span leaf="">  delete_keychain_data(v419, v411, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  delete_keychain_data(v419, v410, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  delete_keychain_data(v419, v408, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  delete_keychain_data(v419, v413, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  delete_keychain_item(v419, v417, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  delete_certificate(v419, v412, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  delete_certificate(v419, v409, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  v310 = v533;</span></code><br/><code><span leaf="">  v311 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v533[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v311 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(v311);</span></code><br/><code><span leaf="">    v310 = v533;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v310[<span class="code-snippet__number">3</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v312 = v528;</span></code><br/><code><span leaf="">  v313 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v528[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v313 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(v313);</span></code><br/><code><span leaf="">    v312 = v528;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v312[<span class="code-snippet__number">3</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v314 = v524;</span></code><br/><code><span leaf="">  v315 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v524[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v315 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(v315);</span></code><br/><code><span leaf="">    v314 = v524;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v314[<span class="code-snippet__number">3</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v316 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">  v317 = *(<span class="code-snippet__type">void</span> **)(v316 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">  *(_QWORD *)(v316 + <span class="code-snippet__number">40</span>) = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  objc_release(v317);</span></code><br/><code><span leaf="">LABEL_231:</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v533[<span class="code-snippet__number">3</span>] || !v528[<span class="code-snippet__number">3</span>] || !v524[<span class="code-snippet__number">3</span>] )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_247;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (isRunningInRecovery() &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> || (v69 &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> || (v318 = v481, v481 == <span class="code-snippet__number">0.0</span>) || (v319 = (<span class="code-snippet__type">void</span> *)v493[<span class="code-snippet__number">5</span>]) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v323 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE958, <span class="code-snippet__string">&#34;date&#34;</span>, v318));</span></code><br/><code><span leaf="">    v322 = (<span class="code-snippet__type">void</span> *)v499[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">    v499[<span class="code-snippet__number">5</span>] = v323;</span></code><br/><code><span leaf="">    v321 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v320 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v319, <span class="code-snippet__string">&#34;dateByAddingTimeInterval:&#34;</span>, v483[<span class="code-snippet__number">3</span>] - v481));</span></code><br/><code><span leaf="">    v321 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v322 = (<span class="code-snippet__type">void</span> *)v499[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">    v499[<span class="code-snippet__number">5</span>] = v320;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  objc_release(v322);</span></code><br/><code><span leaf="">  v324 = v528[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  objc_msgSend((<span class="code-snippet__type">id</span>)v499[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;timeIntervalSinceReferenceDate&#34;</span>);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !(<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)SecCertificateIsValid_2(v324)</span></code><br/><code><span leaf="">    || (v325 = v524[<span class="code-snippet__number">3</span>],</span></code><br/><code><span leaf="">        objc_msgSend((<span class="code-snippet__type">id</span>)v499[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;timeIntervalSinceReferenceDate&#34;</span>),</span></code><br/><code><span leaf="">        !(<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)SecCertificateIsValid_2(v325)) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v330 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v329 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (v321 &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_276;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_246;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v326 = SecCertificateNotValidAfter_8(v528[<span class="code-snippet__number">3</span>]);</span></code><br/><code><span leaf="">  v327 = SecCertificateNotValidBefore_7(v528[<span class="code-snippet__number">3</span>]);</span></code><br/><code><span leaf="">  objc_msgSend((<span class="code-snippet__type">id</span>)v499[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;timeIntervalSinceReferenceDate&#34;</span>);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v328 - SecCertificateNotValidBefore_7(v528[<span class="code-snippet__number">3</span>]) &gt;= (v326 - v327) * <span class="code-snippet__number">0.9</span> )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v330 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">    v329 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (v321 &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_276;</span></code><br/><code><span leaf="">LABEL_246:</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v330 )</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_277;</span></code><br/><code><span leaf="">LABEL_247:</span></code><br/><code><span leaf="">    v35 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_248;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v329 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v330 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (v321 &amp; <span class="code-snippet__number">1</span>) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_246;</span></code><br/><code><span leaf="">LABEL_276:</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( ((<span class="code-snippet__type">unsigned</span> __int8)v330 &amp; (*((_DWORD *)v477 + <span class="code-snippet__number">6</span>) == v480)) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_247;</span></code><br/><code><span leaf="">LABEL_277:</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v395 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v381 = v524[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">    v571[<span class="code-snippet__number">1</span>] = v528[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">    v571[<span class="code-snippet__number">2</span>] = v381;</span></code><br/><code><span leaf="">    v382 = &amp;v572;</span></code><br/><code><span leaf="">    v383 = v499 + <span class="code-snippet__number">5</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v570 = v528[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">    v382 = v571;</span></code><br/><code><span leaf="">    v383 = v524 + <span class="code-snippet__number">3</span>;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  *v382 = *v383;</span></code><br/><code><span leaf="">  v35 = (<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(objc_msgSend(off_41CEDE918, <span class="code-snippet__string">&#34;arrayWithObjects:count:&#34;</span>));</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v329 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">LABEL_248:</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( queuea )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v331 = createMobileActivationError_0(</span></code><br/><code><span leaf="">               (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">1470</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Missing or expired certificates, and network request explictly not attempted.&#34;</span>),</span></code><br/><code><span leaf="">               v66,</span></code><br/><code><span leaf="">               v67,</span></code><br/><code><span leaf="">               v68,</span></code><br/><code><span leaf="">               v384);</span></code><br/><code><span leaf="">      v332 = objc_claimAutoreleasedReturnValue_556(v331);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( v399 &amp;&amp; (v333 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v533[<span class="code-snippet__number">3</span>]) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v334 = (__SecKey *)<span class="code-snippet__built_in">CFRetain_262</span>(v333);</span></code><br/><code><span leaf="">        v541[<span class="code-snippet__number">3</span>] = (__int64)v334;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v335 = *(_QWORD *)(a1 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">        v336 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">        v463 = *(<span class="code-snippet__type">id</span> *)(v336 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">        v334 = (__SecKey *)createReferenceKeyBlob(cf, v397, v335, &amp;v463);</span></code><br/><code><span leaf="">        j__objc_storeStrong_550((<span class="code-snippet__type">id</span> *)(v336 + <span class="code-snippet__number">40</span>), v463);</span></code><br/><code><span leaf="">        v541[<span class="code-snippet__number">3</span>] = (__int64)v334;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( !v334 )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v360 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                   (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                   <span class="code-snippet__number">1481</span>,</span></code><br/><code><span leaf="">                   <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                   *(<span class="code-snippet__type">void</span> **)(*(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL) + <span class="code-snippet__number">40</span>LL),</span></code><br/><code><span leaf="">                   <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create reference key.&#34;</span>),</span></code><br/><code><span leaf="">                   v337,</span></code><br/><code><span leaf="">                   v338,</span></code><br/><code><span leaf="">                   v339,</span></code><br/><code><span leaf="">                   v384);</span></code><br/><code><span leaf="">          v332 = objc_claimAutoreleasedReturnValue_556(v360);</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">goto</span> LABEL_262;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      v340 = SecKeyCopyPublicKey_11(v334);</span></code><br/><code><span leaf="">      v537[<span class="code-snippet__number">3</span>] = (__int64)v340;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( v340 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v37 = SecKeyCopyExternalRepresentation_13(v340, &amp;error);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( v37 )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v347 = SecKeyCopyAttributes_8((SecKeyRef)v541[<span class="code-snippet__number">3</span>]);</span></code><br/><code><span leaf="">          v36 = v347;</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">if</span> ( v347 )</span></code><br/><code><span leaf="">          {</span></code><br/><code><span leaf="">            v354 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(-[__CFDictionary objectForKeyedSubscript:](v347, <span class="code-snippet__string">&#34;objectForKeyedSubscript:&#34;</span>, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;toid&#34;</span>)));</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">if</span> ( v354 )</span></code><br/><code><span leaf="">            {</span></code><br/><code><span leaf="">              v355 = j__dispatch_get_global_queue_364(<span class="code-snippet__number">0</span>, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">              queuec = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_556(v355);</span></code><br/><code><span leaf="">              v428[<span class="code-snippet__number">0</span>] = &amp;_NSConcreteStackBlock_0;</span></code><br/><code><span leaf="">              v428[<span class="code-snippet__number">1</span>] = <span class="code-snippet__number">3221225472</span>LL;</span></code><br/><code><span leaf="">              v428[<span class="code-snippet__number">2</span>] = __DeviceIdentityIssueClientCertificateWithCompletion_block_invoke_2;</span></code><br/><code><span leaf="">              v428[<span class="code-snippet__number">3</span>] = &amp;unk_41974FD50;</span></code><br/><code><span leaf="">              v54 = &amp;v429;</span></code><br/><code><span leaf="">              v429 = objc_retain(*(<span class="code-snippet__type">id</span> *)(a1 + <span class="code-snippet__number">40</span>));</span></code><br/><code><span leaf="">              v356 = objc_retain(v422);</span></code><br/><code><span leaf="">              v357 = *(_QWORD *)(a1 + <span class="code-snippet__number">56</span>);</span></code><br/><code><span leaf="">              v430 = v356;</span></code><br/><code><span leaf="">              v444 = v357;</span></code><br/><code><span leaf="">              v53 = objc_retain(v354);</span></code><br/><code><span leaf="">              v431 = v53;</span></code><br/><code><span leaf="">              v445 = v554;</span></code><br/><code><span leaf="">              v446 = &amp;v498;</span></code><br/><code><span leaf="">              v358 = objc_retain(v425);</span></code><br/><code><span leaf="">              v462 = v395;</span></code><br/><code><span leaf="">              v425 = v358;</span></code><br/><code><span leaf="">              v432 = v358;</span></code><br/><code><span leaf="">              v447 = &amp;v516;</span></code><br/><code><span leaf="">              v448 = &amp;v540;</span></code><br/><code><span leaf="">              v406 = objc_retain(v406);</span></code><br/><code><span leaf="">              v433 = v406;</span></code><br/><code><span leaf="">              v418 = objc_retain(v418);</span></code><br/><code><span leaf="">              v434 = v418;</span></code><br/><code><span leaf="">              v419 = objc_retain(v419);</span></code><br/><code><span leaf="">              v435 = v419;</span></code><br/><code><span leaf="">              v413 = objc_retain(v413);</span></code><br/><code><span leaf="">              v436 = v413;</span></code><br/><code><span leaf="">              v417 = objc_retain(v417);</span></code><br/><code><span leaf="">              v437 = v417;</span></code><br/><code><span leaf="">              v411 = objc_retain(v411);</span></code><br/><code><span leaf="">              v438 = v411;</span></code><br/><code><span leaf="">              v410 = objc_retain(v410);</span></code><br/><code><span leaf="">              v439 = v410;</span></code><br/><code><span leaf="">              v408 = objc_retain(v408);</span></code><br/><code><span leaf="">              v440 = v408;</span></code><br/><code><span leaf="">              v449 = &amp;v486;</span></code><br/><code><span leaf="">              v450 = &amp;v482;</span></code><br/><code><span leaf="">              v451 = &amp;v510;</span></code><br/><code><span leaf="">              v452 = &amp;v476;</span></code><br/><code><span leaf="">              v453 = &amp;v472;</span></code><br/><code><span leaf="">              v454 = &amp;v504;</span></code><br/><code><span leaf="">              v455 = &amp;v544;</span></code><br/><code><span leaf="">              v456 = &amp;v548;</span></code><br/><code><span leaf="">              v457 = &amp;v532;</span></code><br/><code><span leaf="">              v458 = &amp;v527;</span></code><br/><code><span leaf="">              v459 = &amp;v523;</span></code><br/><code><span leaf="">              v35 = objc_retain(v35);</span></code><br/><code><span leaf="">              v441 = v35;</span></code><br/><code><span leaf="">              v460 = &amp;v492;</span></code><br/><code><span leaf="">              v442 = objc_retain(v5);</span></code><br/><code><span leaf="">              v443 = objc_retain(*(<span class="code-snippet__type">id</span> *)(a1 + <span class="code-snippet__number">48</span>));</span></code><br/><code><span leaf="">              v461 = &amp;v536;</span></code><br/><code><span leaf="">              j__dispatch_async_488(queuec, v428);</span></code><br/><code><span leaf="">              objc_release(queuec);</span></code><br/><code><span leaf="">              objc_release(v443);</span></code><br/><code><span leaf="">              objc_release(v442);</span></code><br/><code><span leaf="">              objc_release(v441);</span></code><br/><code><span leaf="">              objc_release(v440);</span></code><br/><code><span leaf="">              objc_release(v439);</span></code><br/><code><span leaf="">              objc_release(v438);</span></code><br/><code><span leaf="">              objc_release(v437);</span></code><br/><code><span leaf="">              objc_release(v436);</span></code><br/><code><span leaf="">              objc_release(v435);</span></code><br/><code><span leaf="">              objc_release(v434);</span></code><br/><code><span leaf="">              objc_release(v433);</span></code><br/><code><span leaf="">              objc_release(v432);</span></code><br/><code><span leaf="">              objc_release(v431);</span></code><br/><code><span leaf="">              objc_release(v430);</span></code><br/><code><span leaf="">              <span class="code-snippet__keyword">goto</span> LABEL_36;</span></code><br/><code><span leaf="">            }</span></code><br/><code><span leaf="">            v376 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                     (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__number">1532</span>,</span></code><br/><code><span leaf="">                     <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                     error,</span></code><br/><code><span leaf="">                     <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to encode RK as data.&#34;</span>),</span></code><br/><code><span leaf="">                     v351,</span></code><br/><code><span leaf="">                     v352,</span></code><br/><code><span leaf="">                     v353,</span></code><br/><code><span leaf="">                     v384);</span></code><br/><code><span leaf="">            v332 = objc_claimAutoreleasedReturnValue_556(v376);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">goto</span> LABEL_264;</span></code><br/><code><span leaf="">          }</span></code><br/><code><span leaf="">          v375 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                   (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                   <span class="code-snippet__number">1526</span>,</span></code><br/><code><span leaf="">                   <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                   error,</span></code><br/><code><span leaf="">                   <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to copy RK attributes.&#34;</span>),</span></code><br/><code><span leaf="">                   v348,</span></code><br/><code><span leaf="">                   v349,</span></code><br/><code><span leaf="">                   v350,</span></code><br/><code><span leaf="">                   v384);</span></code><br/><code><span leaf="">          v332 = objc_claimAutoreleasedReturnValue_556(v375);</span></code><br/><code><span leaf="">LABEL_263:</span></code><br/><code><span leaf="">          v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_264:</span></code><br/><code><span leaf="">          v362 = *(_QWORD *)(*(_QWORD *)(a1 + <span class="code-snippet__number">56</span>) + <span class="code-snippet__number">8</span>LL);</span></code><br/><code><span leaf="">          v363 = *(<span class="code-snippet__type">void</span> **)(v362 + <span class="code-snippet__number">40</span>);</span></code><br/><code><span leaf="">          *(_QWORD *)(v362 + <span class="code-snippet__number">40</span>) = v332;</span></code><br/><code><span leaf="">          objc_release(v363);</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">goto</span> LABEL_265;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        v361 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                 (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">1494</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                 error,</span></code><br/><code><span leaf="">                 <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to encode RK public key as data.&#34;</span>),</span></code><br/><code><span leaf="">                 v344,</span></code><br/><code><span leaf="">                 v345,</span></code><br/><code><span leaf="">                 v346,</span></code><br/><code><span leaf="">                 v384);</span></code><br/><code><span leaf="">        v332 = objc_claimAutoreleasedReturnValue_556(v361);</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v359 = createMobileActivationError_0(</span></code><br/><code><span leaf="">                 (__int64)<span class="code-snippet__string">&#34;DeviceIdentityIssueClientCertificateWithCompletion_block_invoke&#34;</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">1488</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">-1</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                 <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to copy RK public key.&#34;</span>),</span></code><br/><code><span leaf="">                 v341,</span></code><br/><code><span leaf="">                 v342,</span></code><br/><code><span leaf="">                 v343,</span></code><br/><code><span leaf="">                 v384);</span></code><br/><code><span leaf="">        v332 = objc_claimAutoreleasedReturnValue_556(v359);</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">LABEL_262:</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_263;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v36 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_265:</span></code><br/><code><span leaf="">  v364 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v533[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( !v364 || !v35 )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">goto</span> LABEL_25;</span></code><br/><code><span leaf="">  v365 = <span class="code-snippet__built_in">CFRetain_262</span>(v364);</span></code><br/><code><span leaf="">  v545[<span class="code-snippet__number">3</span>] = (__int64)v365;</span></code><br/><code><span leaf="">  j__objc_storeStrong_550(v549 + <span class="code-snippet__number">5</span>, v35);</span></code><br/><code><span leaf="">  v41 = &amp;_os_log_default_0;</span></code><br/><code><span leaf="">  v366 = objc_retain(&amp;_os_log_default_0);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_632((os_log_t)&amp;_os_log_default_0, OS_LOG_TYPE_DEFAULT) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v394 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(v549[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">0</span>));</span></code><br/><code><span leaf="">    v398 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(v549[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">0</span>));</span></code><br/><code><span leaf="">    v367 = objc_msgSend(off_41CEDE958, <span class="code-snippet__string">&#34;dateWithTimeIntervalSinceReferenceDate:&#34;</span>, SecCertificateNotValidBefore_7(v398));</span></code><br/><code><span leaf="">    v388 = objc_retain((<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(v367));</span></code><br/><code><span leaf="">    v396 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(v549[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">0</span>));</span></code><br/><code><span leaf="">    v368 = objc_msgSend(off_41CEDE958, <span class="code-snippet__string">&#34;dateWithTimeIntervalSinceReferenceDate:&#34;</span>, SecCertificateNotValidAfter_8(v396));</span></code><br/><code><span leaf="">    queued = objc_retain((<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(v368));</span></code><br/><code><span leaf="">    v387 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(v549[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">    v390 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_556(objc_msgSend(v549[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">    v369 = objc_msgSend(off_41CEDE958, <span class="code-snippet__string">&#34;dateWithTimeIntervalSinceReferenceDate:&#34;</span>, SecCertificateNotValidBefore_7(v390));</span></code><br/><code><span leaf="">    v400 = objc_retain((<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(v369));</span></code><br/><code><span leaf="">    v370 = objc_claimAutoreleasedReturnValue_556(objc_msgSend(v549[<span class="code-snippet__number">5</span>], <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">    v371 = objc_msgSend(off_41CEDE958, <span class="code-snippet__string">&#34;dateWithTimeIntervalSinceReferenceDate:&#34;</span>, SecCertificateNotValidAfter_8(v370));</span></code><br/><code><span leaf="">    v372 = objc_retain((<span class="code-snippet__type">id</span>)objc_claimAutoreleasedReturnValue_556(v371));</span></code><br/><code><span leaf="">    v373 = v493[<span class="code-snippet__number">5</span>];</span></code><br/><code><span leaf="">    *(_DWORD *)buf = <span class="code-snippet__number">138544898</span>;</span></code><br/><code><span leaf="">    v557 = v394;</span></code><br/><code><span leaf="">    v558 = <span class="code-snippet__number">2114</span>;</span></code><br/><code><span leaf="">    v559 = v388;</span></code><br/><code><span leaf="">    v560 = <span class="code-snippet__number">2114</span>;</span></code><br/><code><span leaf="">    v561 = queued;</span></code><br/><code><span leaf="">    v562 = <span class="code-snippet__number">2114</span>;</span></code><br/><code><span leaf="">    v385 = (<span class="code-snippet__type">void</span> *)v370;</span></code><br/><code><span leaf="">    v386 = v372;</span></code><br/><code><span leaf="">    v563 = v387;</span></code><br/><code><span leaf="">    v564 = <span class="code-snippet__number">2114</span>;</span></code><br/><code><span leaf="">    v565 = v400;</span></code><br/><code><span leaf="">    v566 = <span class="code-snippet__number">2114</span>;</span></code><br/><code><span leaf="">    v567 = v372;</span></code><br/><code><span leaf="">    v374 = v372;</span></code><br/><code><span leaf="">    v568 = <span class="code-snippet__number">2114</span>;</span></code><br/><code><span leaf="">    v569 = v373;</span></code><br/><code><span leaf="">    v41 = &amp;_os_log_default_0;</span></code><br/><code><span leaf="">    _os_log_impl_600(</span></code><br/><code><span leaf="">      &amp;dword_40E4FC000,</span></code><br/><code><span leaf="">      (os_log_t)&amp;_os_log_default_0,</span></code><br/><code><span leaf="">      OS_LOG_TYPE_DEFAULT,</span></code><br/><code><span leaf="">      <span class="code-snippet__string">&#34;Returning cached certificates:\n&#34;</span></span></code><br/><code><span leaf="">      <span class="code-snippet__string">&#34;* %{public}@\n&#34;</span></span></code><br/><code><span leaf="">      <span class="code-snippet__string">&#34;    Not Valid Before: %{public}@\n&#34;</span></span></code><br/><code><span leaf="">      <span class="code-snippet__string">&#34;  Not Valid After: %{public}@\n&#34;</span></span></code><br/><code><span leaf="">      <span class="code-snippet__string">&#34;* %{public}@\n&#34;</span></span></code><br/><code><span leaf="">      <span class="code-snippet__string">&#34;    Not Valid Before: %{public}@\n&#34;</span></span></code><br/><code><span leaf="">      <span class="code-snippet__string">&#34;  Not Valid After: %{public}@\n&#34;</span></span></code><br/><code><span leaf="">      <span class="code-snippet__string">&#34;* Server Timestamp: %{public}@\n&#34;</span>,</span></code><br/><code><span leaf="">      buf,</span></code><br/><code><span leaf="">      <span class="code-snippet__number">0x48</span>u);</span></code><br/><code><span leaf="">    objc_release(v374);</span></code><br/><code><span leaf="">    objc_release(v385);</span></code><br/><code><span leaf="">    objc_release(v400);</span></code><br/><code><span leaf="">    objc_release(v390);</span></code><br/><code><span leaf="">    objc_release(v387);</span></code><br/><code><span leaf="">    objc_release(queued);</span></code><br/><code><span leaf="">    objc_release(v396);</span></code><br/><code><span leaf="">    objc_release(v388);</span></code><br/><code><span leaf="">    objc_release(v398);</span></code><br/><code><span leaf="">    objc_release(v394);</span></code><br/><code><span leaf="">    objc_release(v386);</span></code><br/><code><span leaf="">    objc_release(v400);</span></code><br/><code><span leaf="">    objc_release(queued);</span></code><br/><code><span leaf="">    objc_release(v388);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">LABEL_24:</span></code><br/><code><span leaf="">  objc_release(v41);</span></code><br/><code><span leaf="">LABEL_25:</span></code><br/><code><span leaf="">  block[<span class="code-snippet__number">0</span>] = &amp;_NSConcreteStackBlock_0;</span></code><br/><code><span leaf="">  block[<span class="code-snippet__number">1</span>] = <span class="code-snippet__number">3221225472</span>LL;</span></code><br/><code><span leaf="">  block[<span class="code-snippet__number">2</span>] = __DeviceIdentityIssueClientCertificateWithCompletion_block_invoke_309;</span></code><br/><code><span leaf="">  block[<span class="code-snippet__number">3</span>] = &amp;unk_41974FD00;</span></code><br/><code><span leaf="">  v42 = *(<span class="code-snippet__type">void</span> **)(a1 + <span class="code-snippet__number">48</span>);</span></code><br/><code><span leaf="">  v427[<span class="code-snippet__number">1</span>] = *(_QWORD *)(a1 + <span class="code-snippet__number">56</span>);</span></code><br/><code><span leaf="">  v427[<span class="code-snippet__number">0</span>] = objc_retain(v42);</span></code><br/><code><span leaf="">  v427[<span class="code-snippet__number">2</span>] = &amp;v544;</span></code><br/><code><span leaf="">  v427[<span class="code-snippet__number">3</span>] = &amp;v548;</span></code><br/><code><span leaf="">  j__dispatch_async_488(v5, block);</span></code><br/><code><span leaf="">  v43 = v541;</span></code><br/><code><span leaf="">  v44 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v541[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v44 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(v44);</span></code><br/><code><span leaf="">    v43 = v541;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v43[<span class="code-snippet__number">3</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v45 = v537;</span></code><br/><code><span leaf="">  v46 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v537[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v46 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(v46);</span></code><br/><code><span leaf="">    v45 = v537;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v45[<span class="code-snippet__number">3</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v47 = v533;</span></code><br/><code><span leaf="">  v48 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v533[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v48 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(v48);</span></code><br/><code><span leaf="">    v47 = v533;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v47[<span class="code-snippet__number">3</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v49 = v528;</span></code><br/><code><span leaf="">  v50 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v528[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v50 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(v50);</span></code><br/><code><span leaf="">    v49 = v528;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v49[<span class="code-snippet__number">3</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v51 = v524;</span></code><br/><code><span leaf="">  v52 = (<span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *)v524[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v52 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(v52);</span></code><br/><code><span leaf="">    v51 = v524;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v53 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v54 = (<span class="code-snippet__type">id</span> *)v427;</span></code><br/><code><span leaf="">  v51[<span class="code-snippet__number">3</span>] = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">LABEL_36:</span></code><br/><code><span leaf="">  objc_release(*v54);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v15 )</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(v15);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( error )</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(error);</span></code><br/><code><span leaf="">  error = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( cf )</span></code><br/><code><span leaf="">    <span class="code-snippet__built_in">CFRelease_438</span>(cf);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v472, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v476, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v482, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v5);</span></code><br/><code><span leaf="">  objc_release(v38);</span></code><br/><code><span leaf="">  objc_release(v422);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v486, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v491);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v492, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v497);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v498, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v503);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v504, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v509);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v510, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v515);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v516, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v521);</span></code><br/><code><span leaf="">  objc_release(v39);</span></code><br/><code><span leaf="">  objc_release(v414);</span></code><br/><code><span leaf="">  objc_release(v408);</span></code><br/><code><span leaf="">  objc_release(v411);</span></code><br/><code><span leaf="">  objc_release(v410);</span></code><br/><code><span leaf="">  objc_release(v417);</span></code><br/><code><span leaf="">  objc_release(v409);</span></code><br/><code><span leaf="">  objc_release(v412);</span></code><br/><code><span leaf="">  objc_release(v413);</span></code><br/><code><span leaf="">  objc_release(v419);</span></code><br/><code><span leaf="">  objc_release(v418);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v523, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v527, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v532, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v536, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v540, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v544, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v406);</span></code><br/><code><span leaf="">  objc_release(v407);</span></code><br/><code><span leaf="">  objc_release(v37);</span></code><br/><code><span leaf="">  objc_release(v36);</span></code><br/><code><span leaf="">  objc_release(v53);</span></code><br/><code><span leaf="">  objc_release(v421);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(&amp;v548, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v553);</span></code><br/><code><span leaf="">  objc_release(v35);</span></code><br/><code><span leaf="">  objc_release(v425);</span></code><br/><code><span leaf="">  _Block_object_dispose_549(v554, <span class="code-snippet__number">8</span>);</span></code><br/><code><span leaf="">  objc_release(v555);</span></code><br/><code><span leaf="">}</span></code><br/></pre></p><p data-pm-slice="0 0 []"><span leaf="">identityCertificateOptions 用来构造“我想要一张什么样的 identity 证书”；</span></p><p><span leaf="">DeviceIdentityIssueClientCertificateWithCompletion 则负责根据这些参数检查调用方权限、复用或重新签发 attestation 证书链，并在 keychain 中维护一整套“证书 + SE key + 时间防回拨信息”的档案。流程如下：</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="4.042592592592593" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="100000471" src="https://wechat2rss.xlab.app/img-proxy/?k=ba5ee17d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FN0ibNguSP6ibVF3rUTMdECvuoW8uaEqpVZMctZ0Gw7ibTwj9oRghiarAv5FUauXkibr144UK9afIWrFz6v2VkcSBicoA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p data-pm-slice="0 0 []"><span leaf="">读取激活证书后准备加密生成token。</span></p><ul class="list-paddingleft-1"><li><p><span leaf="">加密证书</span></p></li></ul><p><span leaf="">组合参数</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="">_SecCertificateCopyData</span></code><br/><code><span leaf=""><span class="code-snippet__type">id</span> __fastcall __66__DCCertificateGenerator__generateCertificateChainWithCompletion___block_invoke(</span></code><br/><code><span leaf="">        __int64 a1,</span></code><br/><code><span leaf="">        __int64 a2)</span></code><br/><code><span leaf="">{</span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v2; <span class="code-snippet__comment">// x27</span></span></code><br/><code><span leaf="">  __int64 v3; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v4; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v5; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v6; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v7; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v8; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int64 v9; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v10; <span class="code-snippet__comment">// x28</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v11; <span class="code-snippet__comment">// w9</span></span></code><br/><code><span leaf="">  __int64 v12; <span class="code-snippet__comment">// x2</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v13; <span class="code-snippet__comment">// w8</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v14; <span class="code-snippet__comment">// w19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v15; <span class="code-snippet__comment">// w26</span></span></code><br/><code><span leaf="">  __int64 v16; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __int64 v17; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v18; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v19; <span class="code-snippet__comment">// x26</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v20; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *v21; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v22; <span class="code-snippet__comment">// w28</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v23; <span class="code-snippet__comment">// w27</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *v24; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *v25; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *v26; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *v27; <span class="code-snippet__comment">// x28</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v28; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSError</span> *v29; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSError</span> *v30; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSError</span> *v31; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v32; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v33; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v34; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v35; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v36; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v37; <span class="code-snippet__comment">// w19</span></span></code><br/><code><span leaf="">  __int64 v38; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v39; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v40; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v41; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __int64 v42; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v43; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v44; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v45; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v46; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v47; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v48; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v49; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v50; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v51; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> result; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSError</span> *v53; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v54; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v55; <span class="code-snippet__comment">// w20</span></span></code><br/><code><span leaf="">  __int64 v56; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __int64 v57; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v58; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v59; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  __int64 v60; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v61; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v62; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __int64 v63; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSError</span> *v64; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v65; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __int64 v66; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  DCCertificateGenerator *v67; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  SEL v68; <span class="code-snippet__comment">// x1</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v69; <span class="code-snippet__comment">// x2</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v70; <span class="code-snippet__comment">// x3</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> *v71; <span class="code-snippet__comment">// x4</span></span></code><br/><code><span leaf="">  __int64 v72; <span class="code-snippet__comment">// [xsp+0h] [xbp-180h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int64 v73; <span class="code-snippet__comment">// [xsp+10h] [xbp-170h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v75; <span class="code-snippet__comment">// [xsp+20h] [xbp-160h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v77; <span class="code-snippet__comment">// [xsp+30h] [xbp-150h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v78; <span class="code-snippet__comment">// [xsp+40h] [xbp-140h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v79; <span class="code-snippet__comment">// [xsp+48h] [xbp-138h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> v80; <span class="code-snippet__comment">// [xsp+4Ch] [xbp-134h]</span></span></code><br/><code><span leaf="">  __int64 v81; <span class="code-snippet__comment">// [xsp+50h] [xbp-130h] BYREF</span></span></code><br/><code><span leaf="">  __CFString *v82; <span class="code-snippet__comment">// [xsp+58h] [xbp-128h] BYREF</span></span></code><br/><code><span leaf="">  __int64 v83; <span class="code-snippet__comment">// [xsp+60h] [xbp-120h] BYREF</span></span></code><br/><code><span leaf="">  __CFString *v84; <span class="code-snippet__comment">// [xsp+68h] [xbp-118h] BYREF</span></span></code><br/><code><span leaf="">  __int64 v85; <span class="code-snippet__comment">// [xsp+70h] [xbp-110h] BYREF</span></span></code><br/><code><span leaf="">  __CFString *v86; <span class="code-snippet__comment">// [xsp+78h] [xbp-108h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> __src[<span class="code-snippet__number">16</span>]; <span class="code-snippet__comment">// [xsp+80h] [xbp-100h] BYREF</span></span></code><br/><code><span leaf="">  __int128 v88; <span class="code-snippet__comment">// [xsp+90h] [xbp-F0h]</span></span></code><br/><code><span leaf="">  __int128 v89; <span class="code-snippet__comment">// [xsp+A0h] [xbp-E0h]</span></span></code><br/><code><span leaf="">  __int128 v90; <span class="code-snippet__comment">// [xsp+B0h] [xbp-D0h]</span></span></code><br/><code><span leaf="">  __int128 v91; <span class="code-snippet__comment">// [xsp+C0h] [xbp-C0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> __str[<span class="code-snippet__number">16</span>]; <span class="code-snippet__comment">// [xsp+D0h] [xbp-B0h] BYREF</span></span></code><br/><code><span leaf="">  __int128 v93; <span class="code-snippet__comment">// [xsp+E0h] [xbp-A0h]</span></span></code><br/><code><span leaf="">  __int128 v94; <span class="code-snippet__comment">// [xsp+F0h] [xbp-90h]</span></span></code><br/><code><span leaf="">  __int128 v95; <span class="code-snippet__comment">// [xsp+100h] [xbp-80h]</span></span></code><br/><code><span leaf="">  __int128 v96; <span class="code-snippet__comment">// [xsp+110h] [xbp-70h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int64 v97; <span class="code-snippet__comment">// [xsp+120h] [xbp-60h]</span></span></code><br/><code><span leaf="">  v97 = <span class="code-snippet__number">0x8FCA7F6773E200E4</span>LL;</span></code><br/><code><span leaf="">  v2 = (<span class="code-snippet__type">void</span> *)objc_retain_x2_1310();</span></code><br/><code><span leaf="">  v3 = ((__int64 (*)(<span class="code-snippet__type">void</span>))MEMORY[<span class="code-snippet__number">0x243ECC210</span>])();</span></code><br/><code><span leaf="">  v4 = _DCLogSystem(v3);</span></code><br/><code><span leaf="">  v5 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(v4);</span></code><br/><code><span leaf="">  v6 = ((__int64 (__fastcall *)(__int64, _QWORD))MEMORY[<span class="code-snippet__number">0x243ECC2A0</span>])(v5, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( (_DWORD)v6 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    *(_WORD *)__str = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v6 = ((__int64 (__fastcall *)(<span class="code-snippet__type">int</span> *, __int64, _QWORD, <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">char</span> *, <span class="code-snippet__type">char</span> *, __int64))MEMORY[<span class="code-snippet__number">0x243ECBE60</span>])(</span></code><br/><code><span leaf="">           &amp;dword_24150F000,</span></code><br/><code><span leaf="">           v5,</span></code><br/><code><span leaf="">           <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">           <span class="code-snippet__string">&#34;Certificate issued, processing..&#34;</span>,</span></code><br/><code><span leaf="">           __str,</span></code><br/><code><span leaf="">           <span class="code-snippet__number">2</span>);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v7 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC130</span>])(v6);</span></code><br/><code><span leaf="">  v8 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC210</span>])(v7);</span></code><br/><code><span leaf="">  v75 = (<span class="code-snippet__type">void</span> *)((__int64 (__fastcall *)(<span class="code-snippet__type">void</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(+[<span class="code-snippet__built_in">NSDate</span> date](&amp;OBJC_CLASS___NSDate, <span class="code-snippet__string">&#34;date&#34;</span>));</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v2 &amp;&amp; (v9 = (<span class="code-snippet__type">unsigned</span> __int64)objc_msgSend(v2, <span class="code-snippet__string">&#34;count&#34;</span>), (v9 &amp; <span class="code-snippet__number">0xFFFFFFFFFFFFFFFE</span>LL) == <span class="code-snippet__number">2</span>) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v73 = v9;</span></code><br/><code><span leaf="">    v79 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v10 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v11 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v12 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v13 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">    v77 = v2;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">while</span> ( <span class="code-snippet__number">1</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v14 = v13;</span></code><br/><code><span leaf="">      v15 = v11;</span></code><br/><code><span leaf="">      v16 = ((__int64 (__fastcall *)(<span class="code-snippet__type">void</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(objc_msgSend(v2, <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, v12));</span></code><br/><code><span leaf="">      MEMORY[<span class="code-snippet__number">0x243ECC120</span>]();</span></code><br/><code><span leaf="">      v17 = ((__int64 (__fastcall *)(__int64))unk_243ECBDF0)(v16);</span></code><br/><code><span leaf="">      v18 = (<span class="code-snippet__type">void</span> *)((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC1B0</span>])(v17);</span></code><br/><code><span leaf="">      v95 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      v96 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      v93 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      v94 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      *(_OWORD *)__str = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      v90 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      v91 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      v88 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      v89 = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      *(_OWORD *)__src = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( v18 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v80 = v15;</span></code><br/><code><span leaf="">        v19 = (<span class="code-snippet__type">void</span> *)((__int64 (*)(<span class="code-snippet__type">void</span>))MEMORY[<span class="code-snippet__number">0x243ECC080</span>])();</span></code><br/><code><span leaf="">        v20 = (<span class="code-snippet__type">void</span> *)((__int64 (__fastcall *)(<span class="code-snippet__type">void</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(objc_msgSend(v18, <span class="code-snippet__string">&#34;base64EncodedDataWithOptions:&#34;</span>, <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">        v21 = (<span class="code-snippet__type">char</span> *)objc_msgSend(v20, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( v21 )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v78 = v10;</span></code><br/><code><span leaf="">          v22 = snprintf(__str, <span class="code-snippet__number">0x50</span>u, <span class="code-snippet__string">&#34;-----BEGIN %s-----\n&#34;</span>, <span class="code-snippet__string">&#34;CERTIFICATE&#34;</span>);</span></code><br/><code><span leaf="">          v23 = snprintf(__src, <span class="code-snippet__number">0x50</span>u, <span class="code-snippet__string">&#34;\n-----END %s-----&#34;</span>, <span class="code-snippet__string">&#34;CERTIFICATE&#34;</span>);</span></code><br/><code><span leaf="">          v24 = &amp;v21[v22 + v23];</span></code><br/><code><span leaf="">          v25 = (<span class="code-snippet__type">char</span> *)malloc((size_t)(v24 + <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">if</span> ( v25 )</span></code><br/><code><span leaf="">          {</span></code><br/><code><span leaf="">            v26 = v25;</span></code><br/><code><span leaf="">            v27 = &amp;strncpy(v25, __str, v22)[v22];</span></code><br/><code><span leaf="">            objc_msgSend(v20, <span class="code-snippet__string">&#34;getBytes:range:&#34;</span>, v27, <span class="code-snippet__number">0</span>, v21);</span></code><br/><code><span leaf="">            strncpy(&amp;v21[(_QWORD)v27], __src, v23);</span></code><br/><code><span leaf="">            v28 = (<span class="code-snippet__type">void</span> *)((__int64 (__fastcall *)(<span class="code-snippet__built_in">NSData</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(</span></code><br/><code><span leaf="">                            +[<span class="code-snippet__built_in">NSData</span>(<span class="code-snippet__built_in">NSData</span>) dataWithBytesNoCopy:length:](</span></code><br/><code><span leaf="">                              &amp;OBJC_CLASS___NSData,</span></code><br/><code><span leaf="">                              <span class="code-snippet__string">&#34;dataWithBytesNoCopy:length:&#34;</span>,</span></code><br/><code><span leaf="">                              v26,</span></code><br/><code><span leaf="">                              v24));</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">if</span> ( !v28 )</span></code><br/><code><span leaf="">            {</span></code><br/><code><span leaf="">              v85 = <span class="code-snippet__number">0x21AEAF128</span>LL;</span></code><br/><code><span leaf="">              v86 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create pem data.&#34;</span>);</span></code><br/><code><span leaf="">              v31 = +[<span class="code-snippet__built_in">NSError</span> errorWithDomain:code:userInfo:](</span></code><br/><code><span leaf="">                      &amp;OBJC_CLASS___NSError,</span></code><br/><code><span leaf="">                      <span class="code-snippet__string">&#34;errorWithDomain:code:userInfo:&#34;</span>,</span></code><br/><code><span leaf="">                      <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.devicecheck.cryptoerror&#34;</span>),</span></code><br/><code><span leaf="">                      <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                      ((__int64 (__fastcall *)(<span class="code-snippet__built_in">NSDictionary</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(</span></code><br/><code><span leaf="">                        +[<span class="code-snippet__built_in">NSDictionary</span> dictionaryWithObjects:forKeys:count:](</span></code><br/><code><span leaf="">                          &amp;OBJC_CLASS___NSDictionary,</span></code><br/><code><span leaf="">                          <span class="code-snippet__string">&#34;dictionaryWithObjects:forKeys:count:&#34;</span>,</span></code><br/><code><span leaf="">                          &amp;v86,</span></code><br/><code><span leaf="">                          &amp;v85,</span></code><br/><code><span leaf="">                          <span class="code-snippet__number">1</span>)));</span></code><br/><code><span leaf="">              ((<span class="code-snippet__type">void</span> (__fastcall *)(<span class="code-snippet__built_in">NSError</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(v31);</span></code><br/><code><span leaf="">              ((<span class="code-snippet__type">void</span> (*)(<span class="code-snippet__type">void</span>))unk_243ECC180)();</span></code><br/><code><span leaf="">              free(v26);</span></code><br/><code><span leaf="">            }</span></code><br/><code><span leaf="">          }</span></code><br/><code><span leaf="">          <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">          {</span></code><br/><code><span leaf="">            v85 = <span class="code-snippet__number">0x21AEAF128</span>LL;</span></code><br/><code><span leaf="">            v86 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to allocate buffer.&#34;</span>);</span></code><br/><code><span leaf="">            v30 = +[<span class="code-snippet__built_in">NSError</span> errorWithDomain:code:userInfo:](</span></code><br/><code><span leaf="">                    &amp;OBJC_CLASS___NSError,</span></code><br/><code><span leaf="">                    <span class="code-snippet__string">&#34;errorWithDomain:code:userInfo:&#34;</span>,</span></code><br/><code><span leaf="">                    <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.devicecheck.cryptoerror&#34;</span>),</span></code><br/><code><span leaf="">                    <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                    ((__int64 (__fastcall *)(<span class="code-snippet__built_in">NSDictionary</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(</span></code><br/><code><span leaf="">                      +[<span class="code-snippet__built_in">NSDictionary</span> dictionaryWithObjects:forKeys:count:](</span></code><br/><code><span leaf="">                        &amp;OBJC_CLASS___NSDictionary,</span></code><br/><code><span leaf="">                        <span class="code-snippet__string">&#34;dictionaryWithObjects:forKeys:count:&#34;</span>,</span></code><br/><code><span leaf="">                        &amp;v86,</span></code><br/><code><span leaf="">                        &amp;v85,</span></code><br/><code><span leaf="">                        <span class="code-snippet__number">1</span>)));</span></code><br/><code><span leaf="">            ((<span class="code-snippet__type">void</span> (__fastcall *)(<span class="code-snippet__built_in">NSError</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(v30);</span></code><br/><code><span leaf="">            ((<span class="code-snippet__type">void</span> (*)(<span class="code-snippet__type">void</span>))unk_243ECC170)();</span></code><br/><code><span leaf="">            v28 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          }</span></code><br/><code><span leaf="">          v2 = v77;</span></code><br/><code><span leaf="">          v10 = v78;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          v28 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        ((<span class="code-snippet__type">void</span> (*)(<span class="code-snippet__type">void</span>))MEMORY[<span class="code-snippet__number">0x243ECC160</span>])();</span></code><br/><code><span leaf="">        objc_autoreleasePoolPop(v19);</span></code><br/><code><span leaf="">        v15 = v80;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v85 = <span class="code-snippet__number">0x21AEAF128</span>LL;</span></code><br/><code><span leaf="">        v86 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Invalid inputs.&#34;</span>);</span></code><br/><code><span leaf="">        v29 = +[<span class="code-snippet__built_in">NSError</span> errorWithDomain:code:userInfo:](</span></code><br/><code><span leaf="">                &amp;OBJC_CLASS___NSError,</span></code><br/><code><span leaf="">                <span class="code-snippet__string">&#34;errorWithDomain:code:userInfo:&#34;</span>,</span></code><br/><code><span leaf="">                <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.devicecheck.cryptoerror&#34;</span>),</span></code><br/><code><span leaf="">                <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                ((__int64 (__fastcall *)(<span class="code-snippet__built_in">NSDictionary</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(</span></code><br/><code><span leaf="">                  +[<span class="code-snippet__built_in">NSDictionary</span> dictionaryWithObjects:forKeys:count:](</span></code><br/><code><span leaf="">                    &amp;OBJC_CLASS___NSDictionary,</span></code><br/><code><span leaf="">                    <span class="code-snippet__string">&#34;dictionaryWithObjects:forKeys:count:&#34;</span>,</span></code><br/><code><span leaf="">                    &amp;v86,</span></code><br/><code><span leaf="">                    &amp;v85,</span></code><br/><code><span leaf="">                    <span class="code-snippet__number">1</span>)));</span></code><br/><code><span leaf="">        ((<span class="code-snippet__type">void</span> (__fastcall *)(<span class="code-snippet__built_in">NSError</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(v29);</span></code><br/><code><span leaf="">        ((<span class="code-snippet__type">void</span> (*)(<span class="code-snippet__type">void</span>))MEMORY[<span class="code-snippet__number">0x243ECC160</span>])();</span></code><br/><code><span leaf="">        v28 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      v32 = ((__int64 (*)(<span class="code-snippet__type">void</span>))MEMORY[<span class="code-snippet__number">0x243ECC140</span>])();</span></code><br/><code><span leaf="">      v33 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC130</span>])(v32);</span></code><br/><code><span leaf="">      v34 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC150</span>])(v33);</span></code><br/><code><span leaf="">      ((<span class="code-snippet__type">void</span> (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC130</span>])(v34);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( !v28 )</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">break</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( v10 )</span></code><br/><code><span leaf="">        objc_msgSend(v10, <span class="code-snippet__string">&#34;appendBytes:length:&#34;</span>, <span class="code-snippet__string">&#34;\n&#34;</span>, <span class="code-snippet__number">1</span>);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">        v10 = objc_msgSend(</span></code><br/><code><span leaf="">                (<span class="code-snippet__type">id</span>)((__int64 (__fastcall *)(<span class="code-snippet__type">void</span> *))MEMORY[<span class="code-snippet__number">0x243ECC040</span>])(&amp;OBJC_CLASS___NSMutableData),</span></code><br/><code><span leaf="">                <span class="code-snippet__string">&#34;initWithCapacity:&#34;</span>,</span></code><br/><code><span leaf="">                objc_msgSend(v28, <span class="code-snippet__string">&#34;length&#34;</span>));</span></code><br/><code><span leaf="">      v35 = objc_msgSend(v10, <span class="code-snippet__string">&#34;appendData:&#34;</span>, v28);</span></code><br/><code><span leaf="">      v13 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      v11 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">      v79 = v15;</span></code><br/><code><span leaf="">      v12 = <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( (v14 &amp; <span class="code-snippet__number">1</span>) == <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v36 = v8;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">goto</span> LABEL_36;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v83 = <span class="code-snippet__number">0x21AEAF128</span>LL;</span></code><br/><code><span leaf="">    v84 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Failed to create PEM data from cert.&#34;</span>);</span></code><br/><code><span leaf="">    v53 = +[<span class="code-snippet__built_in">NSError</span> errorWithDomain:code:userInfo:](</span></code><br/><code><span leaf="">            &amp;OBJC_CLASS___NSError,</span></code><br/><code><span leaf="">            <span class="code-snippet__string">&#34;errorWithDomain:code:userInfo:&#34;</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.devicecheck.cryptoerror&#34;</span>),</span></code><br/><code><span leaf="">            <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">            ((__int64 (__fastcall *)(<span class="code-snippet__built_in">NSDictionary</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(</span></code><br/><code><span leaf="">              +[<span class="code-snippet__built_in">NSDictionary</span> dictionaryWithObjects:forKeys:count:](</span></code><br/><code><span leaf="">                &amp;OBJC_CLASS___NSDictionary,</span></code><br/><code><span leaf="">                <span class="code-snippet__string">&#34;dictionaryWithObjects:forKeys:count:&#34;</span>,</span></code><br/><code><span leaf="">                &amp;v84,</span></code><br/><code><span leaf="">                &amp;v83,</span></code><br/><code><span leaf="">                <span class="code-snippet__number">1</span>)));</span></code><br/><code><span leaf="">    v36 = ((__int64 (__fastcall *)(<span class="code-snippet__built_in">NSError</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(v53);</span></code><br/><code><span leaf="">    v54 = ((__int64 (*)(<span class="code-snippet__type">void</span>))MEMORY[<span class="code-snippet__number">0x243ECC150</span>])();</span></code><br/><code><span leaf="">    v35 = (<span class="code-snippet__type">void</span> *)((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC140</span>])(v54);</span></code><br/><code><span leaf="">    v15 = v79;</span></code><br/><code><span leaf="">LABEL_36:</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v73 == <span class="code-snippet__number">3</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v55 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(</span></code><br/><code><span leaf="">                            *(<span class="code-snippet__type">id</span> *)(a1 + <span class="code-snippet__number">32</span>),</span></code><br/><code><span leaf="">                            <span class="code-snippet__string">&#34;_isNSDate:&#34;</span>,</span></code><br/><code><span leaf="">                            ((__int64 (__fastcall *)(<span class="code-snippet__type">void</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(objc_msgSend(v2, <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">2</span>)));</span></code><br/><code><span leaf="">      ((<span class="code-snippet__type">void</span> (*)(<span class="code-snippet__type">void</span>))MEMORY[<span class="code-snippet__number">0x243ECC140</span>])();</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( v55 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v56 = ((__int64 (__fastcall *)(<span class="code-snippet__type">void</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(objc_msgSend(v2, <span class="code-snippet__string">&#34;objectAtIndexedSubscript:&#34;</span>, <span class="code-snippet__number">2</span>));</span></code><br/><code><span leaf="">        v57 = MEMORY[<span class="code-snippet__number">0x243ECC1A0</span>]();</span></code><br/><code><span leaf="">        v58 = _DCLogSystem(v57);</span></code><br/><code><span leaf="">        v59 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(v58);</span></code><br/><code><span leaf="">        v60 = ((__int64 (__fastcall *)(__int64, _QWORD))MEMORY[<span class="code-snippet__number">0x243ECC2A0</span>])(v59, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> ( (_DWORD)v60 )</span></code><br/><code><span leaf="">        {</span></code><br/><code><span leaf="">          *(_WORD *)__str = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">          v60 = ((__int64 (__fastcall *)(<span class="code-snippet__type">int</span> *, __int64, _QWORD, <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">char</span> *, <span class="code-snippet__type">char</span> *, __int64))MEMORY[<span class="code-snippet__number">0x243ECBE60</span>])(</span></code><br/><code><span leaf="">                  &amp;dword_24150F000,</span></code><br/><code><span leaf="">                  v59,</span></code><br/><code><span leaf="">                  <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                  <span class="code-snippet__string">&#34;Using synced timestamp...&#34;</span>,</span></code><br/><code><span leaf="">                  __str,</span></code><br/><code><span leaf="">                  <span class="code-snippet__number">2</span>);</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        ((<span class="code-snippet__type">void</span> (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC140</span>])(v60);</span></code><br/><code><span leaf="">        v37 = v15 &amp; <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">        v75 = (<span class="code-snippet__type">void</span> *)v56;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v81 = <span class="code-snippet__number">0x21AEAF128</span>LL;</span></code><br/><code><span leaf="">        v82 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Expected date field, failing...&#34;</span>);</span></code><br/><code><span leaf="">        v64 = +[<span class="code-snippet__built_in">NSError</span> errorWithDomain:code:userInfo:](</span></code><br/><code><span leaf="">                &amp;OBJC_CLASS___NSError,</span></code><br/><code><span leaf="">                <span class="code-snippet__string">&#34;errorWithDomain:code:userInfo:&#34;</span>,</span></code><br/><code><span leaf="">                <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;com.apple.devicecheck.cryptoerror&#34;</span>),</span></code><br/><code><span leaf="">                <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                ((__int64 (__fastcall *)(<span class="code-snippet__built_in">NSDictionary</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(</span></code><br/><code><span leaf="">                  +[<span class="code-snippet__built_in">NSDictionary</span> dictionaryWithObjects:forKeys:count:](</span></code><br/><code><span leaf="">                    &amp;OBJC_CLASS___NSDictionary,</span></code><br/><code><span leaf="">                    <span class="code-snippet__string">&#34;dictionaryWithObjects:forKeys:count:&#34;</span>,</span></code><br/><code><span leaf="">                    &amp;v82,</span></code><br/><code><span leaf="">                    &amp;v81,</span></code><br/><code><span leaf="">                    <span class="code-snippet__number">1</span>)));</span></code><br/><code><span leaf="">        v65 = ((__int64 (__fastcall *)(<span class="code-snippet__built_in">NSError</span> *))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(v64);</span></code><br/><code><span leaf="">        v66 = MEMORY[<span class="code-snippet__number">0x243ECC130</span>]();</span></code><br/><code><span leaf="">        ((<span class="code-snippet__type">void</span> (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC140</span>])(v66);</span></code><br/><code><span leaf="">        v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v36 = v65;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v61 = _DCLogSystem(v35);</span></code><br/><code><span leaf="">      v62 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(v61);</span></code><br/><code><span leaf="">      v63 = ((__int64 (__fastcall *)(__int64, _QWORD))MEMORY[<span class="code-snippet__number">0x243ECC2A0</span>])(v62, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( (_DWORD)v63 )</span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        *(_WORD *)__str = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">        v63 = ((__int64 (__fastcall *)(<span class="code-snippet__type">int</span> *, __int64, _QWORD, <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">char</span> *, <span class="code-snippet__type">char</span> *, __int64))MEMORY[<span class="code-snippet__number">0x243ECBE60</span>])(</span></code><br/><code><span leaf="">                &amp;dword_24150F000,</span></code><br/><code><span leaf="">                v62,</span></code><br/><code><span leaf="">                <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">                <span class="code-snippet__string">&#34;Using device timestamp...&#34;</span>,</span></code><br/><code><span leaf="">                __str,</span></code><br/><code><span leaf="">                <span class="code-snippet__number">2</span>);</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      ((<span class="code-snippet__type">void</span> (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC120</span>])(v63);</span></code><br/><code><span leaf="">      v37 = v15 &amp; <span class="code-snippet__number">1</span>;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v10 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v37 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v36 = v8;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v38 = a2;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( a2 )</span></code><br/><code><span leaf="">    v38 = ((__int64 (*)(<span class="code-snippet__type">void</span>))unk_243ECBD30)();</span></code><br/><code><span leaf="">  v39 = _DCLogSystem(v38);</span></code><br/><code><span leaf="">  v40 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC0A0</span>])(v39);</span></code><br/><code><span leaf="">  v41 = v40;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v37 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v42 = ((__int64 (__fastcall *)(__int64, _QWORD))MEMORY[<span class="code-snippet__number">0x243ECC2A0</span>])(v40, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (_DWORD)v42 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v43 = objc_msgSend(v10, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">      *(_DWORD *)__str = <span class="code-snippet__number">134217984</span>;</span></code><br/><code><span leaf="">      *(_QWORD *)&amp;__str[<span class="code-snippet__number">4</span>] = v43;</span></code><br/><code><span leaf="">      v42 = ((__int64 (*)(<span class="code-snippet__type">int</span> *, __int64, _QWORD, <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">char</span> *, ...))MEMORY[<span class="code-snippet__number">0x243ECBE60</span>])(</span></code><br/><code><span leaf="">              &amp;dword_24150F000,</span></code><br/><code><span leaf="">              v41,</span></code><br/><code><span leaf="">              <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">              <span class="code-snippet__string">&#34;Certificate processed... (%lu)&#34;</span>,</span></code><br/><code><span leaf="">              v72);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    ((<span class="code-snippet__type">void</span> (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC120</span>])(v42);</span></code><br/><code><span leaf="">    v44 = (*(__int64 (__fastcall **)(_QWORD, <span class="code-snippet__type">void</span> *, <span class="code-snippet__type">void</span> *))(*(_QWORD *)(a1 + <span class="code-snippet__number">40</span>) + <span class="code-snippet__number">16</span>LL))(</span></code><br/><code><span leaf="">            *(_QWORD *)(a1 + <span class="code-snippet__number">40</span>),</span></code><br/><code><span leaf="">            objc_msgSend(v10, <span class="code-snippet__string">&#34;copy&#34;</span>),</span></code><br/><code><span leaf="">            objc_msgSend(v75, <span class="code-snippet__string">&#34;copy&#34;</span>));</span></code><br/><code><span leaf="">    v45 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC160</span>])(v44);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)((__int64 (__fastcall *)(__int64, __int64))MEMORY[<span class="code-snippet__number">0x243ECC2A0</span>])(v40, <span class="code-snippet__number">16</span>) )</span></code><br/><code><span leaf="">      __66__DCCertificateGenerator__generateCertificateChainWithCompletion___block_invoke_cold_1(v36, v41);</span></code><br/><code><span leaf="">    MEMORY[<span class="code-snippet__number">0x243ECC120</span>]();</span></code><br/><code><span leaf="">    v45 = (*(__int64 (__fastcall **)(_QWORD, _QWORD, <span class="code-snippet__type">void</span> *))(*(_QWORD *)(a1 + <span class="code-snippet__number">40</span>) + <span class="code-snippet__number">16</span>LL))(</span></code><br/><code><span leaf="">            *(_QWORD *)(a1 + <span class="code-snippet__number">40</span>),</span></code><br/><code><span leaf="">            <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">            objc_msgSend(v75, <span class="code-snippet__string">&#34;copy&#34;</span>));</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  v46 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC120</span>])(v45);</span></code><br/><code><span leaf="">  v47 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC110</span>])(v46);</span></code><br/><code><span leaf="">  v48 = ((__int64 (__fastcall *)(__int64))unk_243ECC190)(v47);</span></code><br/><code><span leaf="">  v49 = ((__int64 (__fastcall *)(__int64))unk_243ECC170)(v48);</span></code><br/><code><span leaf="">  v50 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC130</span>])(v49);</span></code><br/><code><span leaf="">  v51 = ((__int64 (__fastcall *)(__int64))MEMORY[<span class="code-snippet__number">0x243ECC150</span>])(v50);</span></code><br/><code><span leaf="">  result = (<span class="code-snippet__type">id</span>)((__int64 (__fastcall *)(__int64))unk_243ECC180)(v51);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v97 != <span class="code-snippet__number">0x8FCA7F6773E200E4</span>LL )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v67 = (DCCertificateGenerator *)((__int64 (__fastcall *)(<span class="code-snippet__type">id</span>))unk_243ECBE30)(result);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">return</span> -[DCCertificateGenerator _encryptData:serverSyncedDate:error:](v67, v68, v69, v70, v71);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">return</span> result;</span></code><br/><code><span leaf="">}</span></code><br/></pre></p><p data-pm-slice="0 0 []"><span leaf="">将组合后的两个激活证传给加密方法</span></p><ul class="list-paddingleft-1"><li><p><span leaf="">搜索“Encrypting data...”定位关键加密算法。</span></p></li></ul><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=""><span class="code-snippet__type">id</span> __fastcall -[DCCertificateGenerator _encryptData:serverSyncedDate:error:](<span class="code-snippet__type">id</span> *a1, __int64 a2, <span class="code-snippet__type">void</span> *a3, <span class="code-snippet__type">void</span> *a4)</span></code><br/><code><span leaf="">{</span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v6; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  __int64 v7; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSObject</span> *v8; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v9; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v10; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v11; <span class="code-snippet__comment">// w27</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v12; <span class="code-snippet__comment">// x28</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> v13; <span class="code-snippet__comment">// w25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v14; <span class="code-snippet__comment">// x21</span></span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">const</span> <span class="code-snippet__type">void</span> *v15; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v16; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  size_t v17; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  _DWORD *v18; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  _DWORD *v19; <span class="code-snippet__comment">// x22</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *v20; <span class="code-snippet__comment">// x23</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v21; <span class="code-snippet__comment">// x27</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v22; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v23; <span class="code-snippet__comment">// d0</span></span></code><br/><code><span leaf="">  __int64 v24; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSObject</span> *v25; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v26; <span class="code-snippet__comment">// x8</span></span></code><br/><code><span leaf="">  __int64 v27; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v28; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v29; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__built_in">NSObject</span> *v30; <span class="code-snippet__comment">// x24</span></span></code><br/><code><span leaf="">  __int64 v31; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v32; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  _OWORD *public_key_1; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int128 v34; <span class="code-snippet__comment">// q0</span></span></code><br/><code><span leaf="">  __int128 v35; <span class="code-snippet__comment">// q1</span></span></code><br/><code><span leaf="">  __int128 v36; <span class="code-snippet__comment">// q2</span></span></code><br/><code><span leaf="">  __int64 i; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  __int64 v38; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v39; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v40; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v41; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">char</span> *v43; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v44; <span class="code-snippet__comment">// x20</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">unsigned</span> __int8 *v45; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">int</span> v46; <span class="code-snippet__comment">// t1</span></span></code><br/><code><span leaf="">  __int64 v47; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v48; <span class="code-snippet__comment">// x19</span></span></code><br/><code><span leaf="">  __int64 v49; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v50; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v51; <span class="code-snippet__comment">// x25</span></span></code><br/><code><span leaf="">  __int64 v52; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v53; <span class="code-snippet__comment">// x0</span></span></code><br/><code><span leaf="">  __int64 v54; <span class="code-snippet__comment">// [xsp+28h] [xbp-D8h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v55; <span class="code-snippet__comment">// [xsp+30h] [xbp-D0h]</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">id</span> v56; <span class="code-snippet__comment">// [xsp+38h] [xbp-C8h]</span></span></code><br/><code><span leaf="">  size_t __n; <span class="code-snippet__comment">// [xsp+40h] [xbp-C0h] BYREF</span></span></code><br/><code><span leaf="">  __int64 v58; <span class="code-snippet__comment">// [xsp+48h] [xbp-B8h] BYREF</span></span></code><br/><code><span leaf="">  <span class="code-snippet__type">void</span> *v59; <span class="code-snippet__comment">// [xsp+50h] [xbp-B0h] BYREF</span></span></code><br/><code><span leaf="">  __int64 v60; <span class="code-snippet__comment">// [xsp+58h] [xbp-A8h] BYREF</span></span></code><br/><code><span leaf="">  uint8_t v61[<span class="code-snippet__number">4</span>]; <span class="code-snippet__comment">// [xsp+60h] [xbp-A0h] BYREF</span></span></code><br/><code><span leaf="">  __int64 time; <span class="code-snippet__comment">// [xsp+64h] [xbp-9Ch]</span></span></code><br/><code><span leaf="">  uint8_t buf[<span class="code-snippet__number">16</span>]; <span class="code-snippet__comment">// [xsp+70h] [xbp-90h] BYREF</span></span></code><br/><code><span leaf="">  _DWORD v64[<span class="code-snippet__number">8</span>]; <span class="code-snippet__comment">// [xsp+80h] [xbp-80h] BYREF</span></span></code><br/><code><span leaf="">  __int64 vars8; <span class="code-snippet__comment">// [xsp+108h] [xbp+8h]</span></span></code><br/><code><span leaf="">  v6 = objc_retain(a3);</span></code><br/><code><span leaf="">  v56 = objc_retain(a4);</span></code><br/><code><span leaf="">  v7 = _DCLogSystem(v56);</span></code><br/><code><span leaf="">  v8 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v7);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_1518(v8, OS_LOG_TYPE_DEFAULT) )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    *(_WORD *)buf = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    _os_log_impl_1398(&amp;dword_446A2E000, v8, OS_LOG_TYPE_DEFAULT, <span class="code-snippet__string">&#34;Encrypting data...&#34;</span>, buf, <span class="code-snippet__number">2</span>u);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  objc_release(v8);</span></code><br/><code><span leaf="">  v9 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_1330(objc_msgSend(a1[<span class="code-snippet__number">2</span>], <span class="code-snippet__string">&#34;clientAppID&#34;</span>));</span></code><br/><code><span leaf="">  v10 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_1330(objc_msgSend(v9, <span class="code-snippet__string">&#34;dataUsingEncoding:&#34;</span>, <span class="code-snippet__number">4</span>));</span></code><br/><code><span leaf="">  objc_release(v9);</span></code><br/><code><span leaf="">  v11 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v10, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">  v55 = objc_retainAutorelease(v10);</span></code><br/><code><span leaf="">  v12 = objc_msgSend(v55, <span class="code-snippet__string">&#34;bytes&#34;</span>);</span></code><br/><code><span leaf="">  v13 = (<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span>)objc_msgSend(v6, <span class="code-snippet__string">&#34;length&#34;</span>);</span></code><br/><code><span leaf="">  v14 = objc_retainAutorelease(v6);</span></code><br/><code><span leaf="">  v15 = objc_msgSend(v14, <span class="code-snippet__string">&#34;bytes&#34;</span>);</span></code><br/><code><span leaf="">  v59 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v60 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v58 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">  v16 = ccaes_gcm_encrypt_mode_18();</span></code><br/><code><span leaf="">  *(_OWORD *)buf = <span class="code-snippet__number">0</span>u;</span></code><br/><code><span leaf="">  memset(v64, <span class="code-snippet__number">0</span>, <span class="code-snippet__number">28</span>);</span></code><br/><code><span leaf="">  v17 = v13 + v11 + <span class="code-snippet__number">235</span>LL;</span></code><br/><code><span leaf="">  v18 = j__calloc_516(<span class="code-snippet__number">1</span>u, v17);</span></code><br/><code><span leaf="">  v19 = v18;</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v18 )</span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v54 = v16;</span></code><br/><code><span leaf="">    *(_DWORD *)((<span class="code-snippet__type">char</span> *)v18 + <span class="code-snippet__number">150</span>) = v13 + v11 + <span class="code-snippet__number">81</span>;</span></code><br/><code><span leaf="">    *v18 = <span class="code-snippet__number">2</span>;</span></code><br/><code><span leaf="">    j__memcpy_1002(v18 + <span class="code-snippet__number">5</span>, objc_msgSend(a1[<span class="code-snippet__number">1</span>], <span class="code-snippet__string">&#34;bytes&#34;</span>), (size_t)objc_msgSend(a1[<span class="code-snippet__number">1</span>], <span class="code-snippet__string">&#34;length&#34;</span>));</span></code><br/><code><span leaf="">    v20 = (<span class="code-snippet__type">char</span> *)j__calloc_516(<span class="code-snippet__number">1</span>u, *(<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> *)((<span class="code-snippet__type">char</span> *)v19 + <span class="code-snippet__number">150</span>));</span></code><br/><code><span leaf="">    *(_DWORD *)(v20 + <span class="code-snippet__number">73</span>) = v13;</span></code><br/><code><span leaf="">    j__memcpy_1002(v20 + <span class="code-snippet__number">81</span>, v15, v13);</span></code><br/><code><span leaf="">    *(_DWORD *)(v20 + <span class="code-snippet__number">77</span>) = v11;</span></code><br/><code><span leaf="">    j__memcpy_1002(&amp;v20[*(<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> *)(v20 + <span class="code-snippet__number">73</span>) + <span class="code-snippet__number">81</span>], v12, v11);</span></code><br/><code><span leaf="">    v21 = v56;</span></code><br/><code><span leaf="">    v22 = objc_msgSend(v56, <span class="code-snippet__string">&#34;timeIntervalSince1970&#34;</span>);</span></code><br/><code><span leaf="">    *(_QWORD *)(v20 + <span class="code-snippet__number">65</span>) = v23;</span></code><br/><code><span leaf="">    v24 = _DCLogSystem(v22);</span></code><br/><code><span leaf="">    v25 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v24);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_1518(v25, OS_LOG_TYPE_DEFAULT) )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v26 = *(_QWORD *)(v20 + <span class="code-snippet__number">65</span>);</span></code><br/><code><span leaf="">      *(_DWORD *)v61 = <span class="code-snippet__number">134217984</span>;</span></code><br/><code><span leaf="">      time = v26;</span></code><br/><code><span leaf="">      _os_log_impl_1398(&amp;dword_446A2E000, v25, OS_LOG_TYPE_DEFAULT, <span class="code-snippet__string">&#34;Token timestamp: %f&#34;</span>, v61, <span class="code-snippet__number">0xC</span>u);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    objc_release(v25);</span></code><br/><code><span leaf="">    v27 = aks_ref_key_create_1(objc_msgSend(a1, <span class="code-snippet__string">&#34;keybagHandle&#34;</span>), <span class="code-snippet__number">11</span>, <span class="code-snippet__number">4</span>, <span class="code-snippet__number">0</span>, <span class="code-snippet__number">0</span>, &amp;v60);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (_DWORD)v27 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v28 = v27;</span></code><br/><code><span leaf="">      v29 = _DCLogSystem(v27);</span></code><br/><code><span leaf="">      v30 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v29);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_1518(v30, OS_LOG_TYPE_ERROR) )</span></code><br/><code><span leaf="">        -[DCCertificateGenerator _encryptData:serverSyncedDate:error:].cold<span class="code-snippet__number">.6</span>(v28, v30);</span></code><br/><code><span leaf="">LABEL_20:</span></code><br/><code><span leaf="">      v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_21;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    __n = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    public_key_1 = (_OWORD *)aks_ref_key_get_public_key_1(v60, &amp;__n);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( __n != <span class="code-snippet__number">65</span> )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v41 = _DCLogSystem(public_key_1);</span></code><br/><code><span leaf="">      v30 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v41);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_1518(v30, OS_LOG_TYPE_ERROR) )</span></code><br/><code><span leaf="">        -[DCCertificateGenerator _encryptData:serverSyncedDate:error:].cold<span class="code-snippet__number">.5</span>(&amp;__n, v30);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_20;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    *(_OWORD *)((<span class="code-snippet__type">char</span> *)v19 + <span class="code-snippet__number">85</span>) = *public_key_1;</span></code><br/><code><span leaf="">    v34 = public_key_1[<span class="code-snippet__number">1</span>];</span></code><br/><code><span leaf="">    v35 = public_key_1[<span class="code-snippet__number">2</span>];</span></code><br/><code><span leaf="">    v36 = public_key_1[<span class="code-snippet__number">3</span>];</span></code><br/><code><span leaf="">    *((_BYTE *)v19 + <span class="code-snippet__number">149</span>) = *((_BYTE *)public_key_1 + <span class="code-snippet__number">64</span>);</span></code><br/><code><span leaf="">    *(_OWORD *)((<span class="code-snippet__type">char</span> *)v19 + <span class="code-snippet__number">133</span>) = v36;</span></code><br/><code><span leaf="">    *(_OWORD *)((<span class="code-snippet__type">char</span> *)v19 + <span class="code-snippet__number">117</span>) = v35;</span></code><br/><code><span leaf="">    *(_OWORD *)((<span class="code-snippet__type">char</span> *)v19 + <span class="code-snippet__number">101</span>) = v34;</span></code><br/><code><span leaf="">    j__memcpy_1002(v20, public_key_1, __n);</span></code><br/><code><span leaf="">    j__printf_200(<span class="code-snippet__string">&#34;%-25.25s = &#34;</span>, <span class="code-snippet__string">&#34;random_pubkey&#34;</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">for</span> ( i = <span class="code-snippet__number">85</span>; i != <span class="code-snippet__number">150</span>; ++i )</span></code><br/><code><span leaf="">      j__printf_200(<span class="code-snippet__string">&#34;%02x&#34;</span>, *((<span class="code-snippet__type">unsigned</span> __int8 *)v19 + i));</span></code><br/><code><span leaf="">    putchar_75(<span class="code-snippet__number">10</span>);</span></code><br/><code><span leaf="">    v38 = aks_ref_key_compute_key_0(v60, <span class="code-snippet__number">0</span>, <span class="code-snippet__number">0</span>, objc_msgSend(a1[<span class="code-snippet__number">1</span>], <span class="code-snippet__string">&#34;bytes&#34;</span>), objc_msgSend(a1[<span class="code-snippet__number">1</span>], <span class="code-snippet__string">&#34;length&#34;</span>), &amp;v59, &amp;v58);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (_DWORD)v38 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v39 = v38;</span></code><br/><code><span leaf="">      v40 = _DCLogSystem(v38);</span></code><br/><code><span leaf="">      v30 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v40);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_1518(v30, OS_LOG_TYPE_ERROR) )</span></code><br/><code><span leaf="">        -[DCCertificateGenerator _encryptData:serverSyncedDate:error:].cold<span class="code-snippet__number">.4</span>(v39, v30);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_20;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    v43 = (<span class="code-snippet__type">char</span> *)v59;</span></code><br/><code><span leaf="">    v44 = v58 - <span class="code-snippet__number">2</span>;</span></code><br/><code><span leaf="">    j__printf_200(<span class="code-snippet__string">&#34;%-25.25s = &#34;</span>, <span class="code-snippet__string">&#34;ECDH shared key&#34;</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( v44 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v45 = (<span class="code-snippet__type">unsigned</span> __int8 *)(v43 + <span class="code-snippet__number">2</span>);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">do</span></span></code><br/><code><span leaf="">      {</span></code><br/><code><span leaf="">        v46 = *v45++;</span></code><br/><code><span leaf="">        j__printf_200(<span class="code-snippet__string">&#34;%02x&#34;</span>, v46);</span></code><br/><code><span leaf="">        --v44;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">while</span> ( v44 );</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    putchar_75(<span class="code-snippet__number">10</span>);</span></code><br/><code><span leaf="">    v47 = cchkdf_19(&amp;ccsha256_ltc_di, v58 - <span class="code-snippet__number">2</span>, (<span class="code-snippet__type">char</span> *)v59 + <span class="code-snippet__number">2</span>, <span class="code-snippet__number">0</span>, <span class="code-snippet__number">0</span>, <span class="code-snippet__number">0</span>, <span class="code-snippet__number">0</span>, <span class="code-snippet__number">44</span>, buf);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (_DWORD)v47 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v48 = v47;</span></code><br/><code><span leaf="">      v49 = _DCLogSystem(v47);</span></code><br/><code><span leaf="">      v30 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v49);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_1518(v30, OS_LOG_TYPE_ERROR) )</span></code><br/><code><span leaf="">        -[DCCertificateGenerator _encryptData:serverSyncedDate:error:].cold<span class="code-snippet__number">.3</span>(v48, v30);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_20;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    hex_2((std::ios_base *)<span class="code-snippet__string">&#34;HKDF derived key&#34;</span>);</span></code><br/><code><span leaf="">    hex_2((std::ios_base *)<span class="code-snippet__string">&#34;HKDF derived iv&#34;</span>);</span></code><br/><code><span leaf="">    v50 = ccgcm_one_shot_10(</span></code><br/><code><span leaf="">            v54,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">32</span>,</span></code><br/><code><span leaf="">            buf,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">12</span>,</span></code><br/><code><span leaf="">            &amp;v64[<span class="code-snippet__number">4</span>],</span></code><br/><code><span leaf="">            <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">0</span>,</span></code><br/><code><span leaf="">            *(<span class="code-snippet__type">unsigned</span> <span class="code-snippet__type">int</span> *)((<span class="code-snippet__type">char</span> *)v19 + <span class="code-snippet__number">150</span>),</span></code><br/><code><span leaf="">            v20,</span></code><br/><code><span leaf="">            (<span class="code-snippet__type">char</span> *)v19 + <span class="code-snippet__number">154</span>,</span></code><br/><code><span leaf="">            <span class="code-snippet__number">16</span>,</span></code><br/><code><span leaf="">            v19 + <span class="code-snippet__number">1</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( (_DWORD)v50 )</span></code><br/><code><span leaf="">    {</span></code><br/><code><span leaf="">      v51 = v50;</span></code><br/><code><span leaf="">      v52 = _DCLogSystem(v50);</span></code><br/><code><span leaf="">      v30 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v52);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_1518(v30, OS_LOG_TYPE_ERROR) )</span></code><br/><code><span leaf="">        -[DCCertificateGenerator _encryptData:serverSyncedDate:error:].cold<span class="code-snippet__number">.2</span>(v51, v30);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">goto</span> LABEL_20;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    hex_2((std::ios_base *)<span class="code-snippet__string">&#34;tag&#34;</span>);</span></code><br/><code><span leaf="">    j__fprintf_285((FILE *)__stderrp_0, <span class="code-snippet__string">&#34;encrypted_data_len: %d\n&#34;</span>, *(_DWORD *)((<span class="code-snippet__type">char</span> *)v19 + <span class="code-snippet__number">150</span>));</span></code><br/><code><span leaf="">    v32 = (<span class="code-snippet__type">void</span> *)objc_claimAutoreleasedReturnValue_1330(objc_msgSend(&amp;OBJC_CLASS___NSData, <span class="code-snippet__string">&#34;dataWithBytes:length:&#34;</span>, v19, v17));</span></code><br/><code><span leaf="">    v53 = _DCLogSystem(v32);</span></code><br/><code><span leaf="">    v30 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v53);</span></code><br/><code><span leaf="">    _DCLogDebugBinary_0(v30, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;Token&#34;</span>), v32);</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">else</span></span></code><br/><code><span leaf="">  {</span></code><br/><code><span leaf="">    v31 = _DCLogSystem(<span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">    v30 = (<span class="code-snippet__built_in">NSObject</span> *)objc_claimAutoreleasedReturnValue_1330(v31);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> ( os_log_type_enabled_1518(v30, OS_LOG_TYPE_ERROR) )</span></code><br/><code><span leaf="">      -[DCCertificateGenerator _encryptData:serverSyncedDate:error:].cold<span class="code-snippet__number">.1</span>(v30);</span></code><br/><code><span leaf="">    v20 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v32 = <span class="code-snippet__number">0</span>;</span></code><br/><code><span leaf="">    v21 = v56;</span></code><br/><code><span leaf="">  }</span></code><br/><code><span leaf="">LABEL_21:</span></code><br/><code><span leaf="">  objc_release(v30);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v60 )</span></code><br/><code><span leaf="">    aks_ref_key_free_1(&amp;v60);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v19 )</span></code><br/><code><span leaf="">    j__free_1273(v19);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v20 )</span></code><br/><code><span leaf="">    j__free_1273(v20);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( v59 )</span></code><br/><code><span leaf="">    j__free_1273(v59);</span></code><br/><code><span leaf="">  objc_release(v55);</span></code><br/><code><span leaf="">  objc_release(v21);</span></code><br/><code><span leaf="">  objc_release(v14);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">if</span> ( ((vars8 ^ (<span class="code-snippet__number">2</span> * vars8)) &amp; <span class="code-snippet__number">0x4000000000000000</span>LL) != <span class="code-snippet__number">0</span> )</span></code><br/><code><span leaf="">    __<span class="code-snippet__keyword">break</span>(<span class="code-snippet__number">0xC471</span>u);</span></code><br/><code><span leaf="">  <span class="code-snippet__keyword">return</span> objc_autoreleaseReturnValue(v32);</span></code><br/><code><span leaf="">}</span></code><br/></pre></p><p data-pm-slice="0 0 []"><span leaf="">这个方法用 Secure Enclave 生成一个临时 EC 密钥 → 和服务器公钥做 ECDH → HKDF 派生 AES-256-GCM key+IV →把「[ephemeral 公钥 + 时间戳 + 激活证书 + appID]」打包加密 → 和各种公钥 / 长度 / tag 一起封装成 Token。流程如下：</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.7055555555555556" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="100000472" src="https://wechat2rss.xlab.app/img-proxy/?k=c1140574&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FN0ibNguSP6ibVF3rUTMdECvuoW8uaEqpVZ5aMJCYg2wicN8sX1cgA86vmjQqd2Fk2ufGat48C70YWeMPJEX9U1xLg%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h3 data-pm-slice="0 0 []"><span leaf="">4.2 加密算法流程</span></h3><p><span leaf="">整个加密流程是一个变种的 </span><strong><span leaf="">ECIES</span></strong><span leaf=""> (Elliptic</span><strong><span leaf=""> Curve Integrated Encryption Scheme)</span></strong><span leaf="">，具体步骤如下：</span></p><p><strong><span leaf="">Payload 构建</span></strong><span leaf="">： 系统将 </span><strong><span leaf="">App ID</span></strong><span leaf=""> (如 </span><code><span leaf="">com.example.app</span></code><span leaf="">)、</span><strong><span leaf="">设备证书链</span></strong><span leaf="">（包含 App Attest 证书和 Device CA 证书）以及 </span><strong><span leaf="">时间戳</span></strong><span leaf=""> 拼接成一段二进制数据。</span></p><p><strong><span leaf="">硬件密钥生成 (AKS)</span></strong><span leaf="">： 调用私有 API </span><code><span leaf="">aks_ref_key_create</span></code><span leaf="">。这一步是在 </span><strong><span leaf="">Secure Enclave (SE)</span></strong><span leaf=""> 安全芯片内部生成一个临时的 P-256 椭圆曲线密钥对。</span></p><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">关键点</span></strong><span leaf="">：私钥 (Private Key) 永远停留在硬件安全区内，外部无法读取，只能通过句柄引用。</span></p></li></ul><p><strong><span leaf="">ECDH 密钥协商</span></strong><span leaf="">： 调用 </span><code><span leaf="">aks_ref_key_compute_key</span></code><span leaf="">。系统使用刚才生成的</span><strong><span leaf="">硬件临时私钥</span></strong><span leaf="">，与代码中硬编码的 </span><strong><span leaf="">Apple 服务器公钥</span></strong><span leaf=""> 进行 ECDH (Elliptic-curve Diffie–Hellman) 运算，计算出一个 </span><strong><span leaf="">共享密钥 (Shared Secret)</span></strong><span leaf="">。</span></p><p><strong><span leaf="">HKDF 密钥派生</span></strong><span leaf="">： 调用 </span><code><span leaf="">cchkdf</span></code><span leaf=""> (基于 HMAC 的密钥派生函数)。使用共享密钥作为输入，派生出用于后续对称加密的 </span><strong><span leaf="">AES 密钥</span></strong><span leaf=""> 和 </span><strong><span leaf="">IV (初始化向量)</span></strong><span leaf="">。</span></p><p><strong><span leaf="">AES-GCM 加密</span></strong><span leaf="">： 调用 </span><code><span leaf="">ccgcm_one_shot</span></code><span leaf="">。使用派生出的 AES 密钥，采用 </span><strong><span leaf="">AES-GCM</span></strong><span leaf=""> 模式对第一步构建的 Payload 进行加密。GCM 模式不仅加密数据，还生成一个 </span><strong><span leaf="">Tag (认证标签)</span></strong><span leaf="">，用于防止数据被篡改。</span></p><p><strong><span leaf="">最终封装</span></strong><span leaf="">： 最终的 Token 结构大致为：</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="cpp"><code><span leaf=""><span class="code-snippet__meta">#</span><span class="code-snippet__meta"><span class="code-snippet__keyword">pragma</span></span><span class="code-snippet__meta"> pack(push, 1)</span></span></code><br/><code><span leaf=""><span class="code-snippet__keyword">typedef</span> <span class="code-snippet__keyword">struct</span> {</span></code><br/><code><span leaf="">    <span class="code-snippet__type">uint8_t</span>  ec_pubkey[<span class="code-snippet__number">65</span>];   <span class="code-snippet__comment">// 04 + X(32) + Y(32)</span></span></code><br/><code><span leaf="">    <span class="code-snippet__type">double</span>   timestamp;       <span class="code-snippet__comment">// 小端 double</span></span></code><br/><code><span leaf="">    <span class="code-snippet__type">uint32_t</span> cert_len;        <span class="code-snippet__comment">// 激活证书pme</span></span></code><br/><code><span leaf="">    <span class="code-snippet__type">uint32_t</span> bundle_len;      <span class="code-snippet__comment">// app包名长度</span></span></code><br/><code><span leaf="">    <span class="code-snippet__comment">// 下面是可变部分：</span></span></code><br/><code><span leaf="">    <span class="code-snippet__type">uint8_t</span> cert_pem[cert_len];</span></code><br/><code><span leaf="">    <span class="code-snippet__type">char</span>    bundle[bundle_len]; <span class="code-snippet__comment">// &#34;xxC6HB646H.com.beeasy.xxopee.xx&#34;</span></span></code><br/><code><span leaf="">} TokenPlainHeader;</span></code><br/><code><span leaf=""><span class="code-snippet__meta">#</span><span class="code-snippet__meta"><span class="code-snippet__keyword">pragma</span></span><span class="code-snippet__meta"> pack(pop)</span></span></code><br/></pre></p><h3 data-pm-slice="0 0 []"><span leaf="">4.3 算法还原及为什么不建议生成纯算法？</span></h3><ul class="list-paddingleft-1"><li><p><span leaf="">还原算法</span></p></li></ul><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__keyword">import</span> base64</span></code><br/><code><span leaf=""><span class="code-snippet__keyword">import</span> time</span></code><br/><code><span leaf=""><span class="code-snippet__keyword">import</span> struct</span></code><br/><code><span leaf="">from typing <span class="code-snippet__keyword">import</span> Tuple</span></code><br/><code><span leaf="">from cryptography.hazmat.primitives.ciphers.aead <span class="code-snippet__keyword">import</span> AESGCM</span></code><br/><code><span leaf="">from cryptography.hazmat.primitives <span class="code-snippet__keyword">import</span> hashes</span></code><br/><code><span leaf="">from cryptography.hazmat.primitives.kdf.hkdf <span class="code-snippet__keyword">import</span> HKDF</span></code><br/><code><span leaf=""><span class="code-snippet__keyword">class</span> <span class="code-snippet__title">DeviceCheckTokenBuilder</span>:</span></code><br/><code><span leaf="">    &#34;&#34;&#34;</span></code><br/><code><span leaf="">    - server_pub: 固定“服务器公钥”（65 字节，0x04 开头）</span></code><br/><code><span leaf="">    - ephemeral_pub: 固定“设备临时公钥”（65 字节，0x04 开头）</span></code><br/><code><span leaf="">    - ikm: 固定的“<span class="code-snippet__title">ECDH</span> shared secret”</span></code><br/><code><span leaf="">    - <span class="code-snippet__title">AES</span> key / <span class="code-snippet__title">IV</span> 通过 <span class="code-snippet__title">HKDF</span>(<span class="code-snippet__title">SHA256</span>, <span class="code-snippet__title">L</span>=44) 从 <span class="code-snippet__title">IKM</span> 导出</span></code><br/><code><span leaf="">    &#34;&#34;&#34;</span></code><br/><code><span leaf="">    def __init__(<span class="code-snippet__keyword">self</span>):</span></code><br/><code><span leaf="">        # ==== 1. 固定服务器公钥 // fallback_server_pubkey ====</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">self</span>.server_pub = bytes.fromhex(</span></code><br/><code><span leaf="">            &#34;04 50 <span class="code-snippet__title">D9</span> 34 <span class="code-snippet__title">FA</span> 67 <span class="code-snippet__title">BC</span> <span class="code-snippet__title">F6</span> <span class="code-snippet__title">F2</span> <span class="code-snippet__title">DF</span> <span class="code-snippet__title">BF</span> 96 62 9<span class="code-snippet__title">E</span> 0<span class="code-snippet__title">A</span> 72&#34;</span></code><br/><code><span leaf="">            &#34; 38 <span class="code-snippet__title">E9</span> 20 5<span class="code-snippet__title">D</span> 75 <span class="code-snippet__title">F2</span> 8<span class="code-snippet__title">C</span> <span class="code-snippet__title">FC</span> <span class="code-snippet__title">D8</span> 4<span class="code-snippet__title">F</span> 35 <span class="code-snippet__title">A6</span> 59 2<span class="code-snippet__title">B</span> <span class="code-snippet__title">BE</span> 05&#34;</span></code><br/><code><span leaf="">            &#34; 8<span class="code-snippet__title">A</span> 9<span class="code-snippet__title">C</span> 0<span class="code-snippet__title">F</span> 8<span class="code-snippet__title">E</span> <span class="code-snippet__title">DB</span> <span class="code-snippet__title">CA</span> 2<span class="code-snippet__title">A</span> <span class="code-snippet__title">CB</span> 67 <span class="code-snippet__title">EF</span> <span class="code-snippet__title">B7</span> 74 97 1<span class="code-snippet__title">C</span> <span class="code-snippet__title">A4</span> 5<span class="code-snippet__title">F</span>&#34;</span></code><br/><code><span leaf="">            &#34; 7<span class="code-snippet__title">D</span> 85 6<span class="code-snippet__title">A</span> 69 4<span class="code-snippet__title">F</span> <span class="code-snippet__title">B1</span> <span class="code-snippet__title">B9</span> <span class="code-snippet__title">C4</span> 0<span class="code-snippet__title">B</span> 94 <span class="code-snippet__title">FB</span> 2<span class="code-snippet__title">E</span> 7<span class="code-snippet__title">A</span> 5<span class="code-snippet__title">A</span> 94 98&#34;</span></code><br/><code><span leaf="">            &#34; <span class="code-snippet__title">B0</span>&#34;</span></code><br/><code><span leaf="">        )</span></code><br/><code><span leaf="">        # ==== 2. 固定设备临时公钥 _aks_ref_key_get_public_key_1 ====</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">self</span>.ephemeral_pub = bytes.fromhex(</span></code><br/><code><span leaf="">            &#34;04 79 5<span class="code-snippet__title">B</span> <span class="code-snippet__title">C4</span> 54 <span class="code-snippet__title">FF</span> 9<span class="code-snippet__title">D</span> 34 1<span class="code-snippet__title">E</span> <span class="code-snippet__title">D8</span> 11 <span class="code-snippet__title">CE</span> <span class="code-snippet__title">CC</span>&#34;</span></code><br/><code><span leaf="">            &#34; 73 <span class="code-snippet__title">C4</span> <span class="code-snippet__title">AF</span> 32 1<span class="code-snippet__title">E</span> 81 27 6<span class="code-snippet__title">D</span> <span class="code-snippet__title">A0</span> <span class="code-snippet__title">BE</span> <span class="code-snippet__title">F0</span> <span class="code-snippet__title">BF</span> <span class="code-snippet__title">F6</span> <span class="code-snippet__title">B5</span> <span class="code-snippet__title">D6</span> 3<span class="code-snippet__title">C</span>&#34;</span></code><br/><code><span leaf="">            &#34; 5<span class="code-snippet__title">B</span> <span class="code-snippet__title">AC</span> 9<span class="code-snippet__title">F</span> 09 2<span class="code-snippet__title">D</span> 45 90 1<span class="code-snippet__title">B</span> 6<span class="code-snippet__title">C</span> <span class="code-snippet__title">A1</span> <span class="code-snippet__title">DA</span> <span class="code-snippet__title">BF</span> <span class="code-snippet__title">D9</span> 8<span class="code-snippet__title">B</span> 63 <span class="code-snippet__title">EF</span>&#34;</span></code><br/><code><span leaf="">            &#34; 7<span class="code-snippet__title">E</span> 3<span class="code-snippet__title">B</span> 9<span class="code-snippet__title">D</span> 14 3<span class="code-snippet__title">D</span> 14 4<span class="code-snippet__title">D</span> <span class="code-snippet__title">FE</span> 70 85 7<span class="code-snippet__title">C</span> 0<span class="code-snippet__title">A</span> 4<span class="code-snippet__title">E</span> 07 88 40&#34;</span></code><br/><code><span leaf="">            &#34; 4<span class="code-snippet__title">F</span> 92 87 <span class="code-snippet__title">D0</span>&#34;</span></code><br/><code><span leaf="">        )</span></code><br/><code><span leaf="">        # ==== 3. 固定 <span class="code-snippet__title">IKM（ECDH</span> shared secret）====</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">self</span>.ikm = bytes.fromhex(</span></code><br/><code><span leaf="">            &#34;fe3cb482384079c224225f476244d7c7&#34;</span></code><br/><code><span leaf="">            &#34;4031a41bf09ea60e27f9ede0861bf42e&#34;</span></code><br/><code><span leaf="">        )</span></code><br/><code><span leaf="">        # 通过 <span class="code-snippet__title">HKDF</span> 推导 <span class="code-snippet__title">AES</span> key &amp; <span class="code-snippet__title">IV（仿</span> cchkdf_19）</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">self</span>.aes_key, <span class="code-snippet__keyword">self</span>.aes_iv = <span class="code-snippet__keyword">self</span>._hkdf_derive_key_iv(<span class="code-snippet__keyword">self</span>.ikm)</span></code><br/><code><span leaf="">    # ------------------ 核心加密相关 ------------------ #</span></code><br/><code><span leaf="">    @staticmethod</span></code><br/><code><span leaf="">    def _hkdf_derive_key_iv(ikm: bytes) -&gt; <span class="code-snippet__title">Tuple</span>[bytes, bytes]:</span></code><br/><code><span leaf="">        &#34;&#34;&#34;</span></code><br/><code><span leaf="">        从 <span class="code-snippet__title">IKM</span> 导出 44 字节 <span class="code-snippet__title">OKM，前</span> 32 字节做 <span class="code-snippet__title">AES</span> key，后 12 字节做 <span class="code-snippet__title">GCM</span> <span class="code-snippet__title">IV</span></span></code><br/><code><span leaf="">        相当于：</span></code><br/><code><span leaf="">          cchkdf_19(sha256, ikm, out<span class="code-snippet__title">Len</span>=44, salt=<span class="code-snippet__title">NULL</span>, info=<span class="code-snippet__title">NULL</span>)</span></code><br/><code><span leaf="">        &#34;&#34;&#34;</span></code><br/><code><span leaf="">        hkdf = <span class="code-snippet__title">HKDF</span>(</span></code><br/><code><span leaf="">            algorithm=hashes.<span class="code-snippet__title">SHA256</span>(),</span></code><br/><code><span leaf="">            length=44,</span></code><br/><code><span leaf="">            salt=<span class="code-snippet__title">None</span>,</span></code><br/><code><span leaf="">            info=<span class="code-snippet__title">None</span>,</span></code><br/><code><span leaf="">        )</span></code><br/><code><span leaf="">        okm = hkdf.derive(ikm)</span></code><br/><code><span leaf="">        key = okm[:32]</span></code><br/><code><span leaf="">        iv = okm[32:44]</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">return</span> key, iv</span></code><br/><code><span leaf="">    @staticmethod</span></code><br/><code><span leaf="">    def _gcm_encrypt(plaintext: bytes, key: bytes, iv: bytes) -&gt; <span class="code-snippet__title">Tuple</span>[bytes, bytes]:</span></code><br/><code><span leaf="">        &#34;&#34;&#34;</span></code><br/><code><span leaf="">        <span class="code-snippet__title">AES</span>-<span class="code-snippet__title">GCM</span> 加密：</span></code><br/><code><span leaf="">        返回 (ciphertext_without_tag, tag_16<span class="code-snippet__title">B</span>)</span></code><br/><code><span leaf="">        &#34;&#34;&#34;</span></code><br/><code><span leaf="">        aesgcm = <span class="code-snippet__title">AESGCM</span>(key)</span></code><br/><code><span leaf="">        ct_with_tag = aesgcm.encrypt(iv, plaintext, <span class="code-snippet__title">None</span>)</span></code><br/><code><span leaf="">        tag = ct_with_tag[-16:]</span></code><br/><code><span leaf="">        ciphertext_only = ct_with_tag[:-16]</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">return</span> ciphertext_only, tag</span></code><br/><code><span leaf="">    def build_dc_token(</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">self</span>,</span></code><br/><code><span leaf="">        appname: str = <span class="code-snippet__title">None</span>,</span></code><br/><code><span leaf="">        appcert: str = <span class="code-snippet__title">None</span>,</span></code><br/><code><span leaf="">        devicecert: str = <span class="code-snippet__title">None</span>,</span></code><br/><code><span leaf="">    ) -&gt; str:</span></code><br/><code><span leaf="">        &#34;&#34;&#34;</span></code><br/><code><span leaf="">        <span class="code-snippet__title">Token</span> <span class="code-snippet__title">Layout</span>:</span></code><br/><code><span leaf="">          u32  version = 2</span></code><br/><code><span leaf="">          u8   tag[16]</span></code><br/><code><span leaf="">          u8   server_pub[65]</span></code><br/><code><span leaf="">          u8   ephemeral_pub[65]</span></code><br/><code><span leaf="">          u32  ciphertext_len</span></code><br/><code><span leaf="">          u8   ciphertext[ciphertext_len]</span></code><br/><code><span leaf="">        &#34;&#34;&#34;</span></code><br/><code><span leaf="">        # ---- 1. 默认 appname / 证书 ---- #</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> appname <span class="code-snippet__keyword">is</span> <span class="code-snippet__title">None</span>:</span></code><br/><code><span leaf="">            appname = &#34;<span class="code-snippet__title">T7C6HB646H</span>.com.beeasy.shoppe.tw&#34;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> appcert <span class="code-snippet__keyword">is</span> <span class="code-snippet__title">None</span>:</span></code><br/><code><span leaf="">            appcert = &#34;&#34;&#34;-----<span class="code-snippet__title">BEGIN</span> <span class="code-snippet__title">CERTIFICATE</span>-----</span></code><br/><code><span leaf=""><span class="code-snippet__title">MIIDJjCCAsugAwIBAgIGAZrJqz2xMAoGCCqGSM49BAMCMFMxJzAlBgNVBAMMHkJh</span></span></code><br/><code><span leaf="">c2lj<span class="code-snippet__title">IEF0dGVzdGF0aW9uIFVzZXIgU3ViIENBMTETMBEGA1UECgwKQXBwbGUgSW5j</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">LjETMBEGA1UECAwKQ2FsaWZvcm5pYTAeFw0yNTExMjcwODUzNTRaFw0yNjEwMTQx</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">ODIwNTRaMIGRMUkwRwYDVQQDDEBiNjdjMGY3ZWM4OWJiOTZlZmU3ZGY5OTIzNDVl</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">NDIxNjdiMjU3ODQyZGQyZWM5MjdkZjE5MWVjYmQwYzM0YmI5MRowGAYDVQQLDBFC</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">QUEgQ2VydGlmaWNhdGlvbjETMBEGA1UECgwKQXBwbGUgSW5jLjETMBEGA1UECAwK</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">Q2FsaWZvcm5pYTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKoJsFk1GR</span>/rs/<span class="code-snippet__title">Jj</span></span></code><br/><code><span leaf="">+3i<span class="code-snippet__title">FqwYNnMZCB</span>/0/s40h<span class="code-snippet__title">CTNSr5iooEkoAg8Apue</span>/li<span class="code-snippet__title">WQrcVLYvknsfpRDZ74cKnp</span></span></code><br/><code><span leaf="">c<span class="code-snippet__title">RI</span>/8+ejgg<span class="code-snippet__title">FKMIIBRjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB</span>/w<span class="code-snippet__title">QEAwIE8DCCASQG</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">CSqGSIb3Y2QKAQSCARUEggERMYIBDf</span>+<span class="code-snippet__title">EmqGSUA0wCxYEQ0hJUAIDAIEQ</span>/4<span class="code-snippet__title">SqjZJE</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">ETAPFgRFQ0lEAgcYaaI8ICAe</span>/4<span class="code-snippet__title">SSvaRECzAJFgRCT1JEAgEY</span>/4a<span class="code-snippet__title">TtcJjGzAZFgRi</span></span></code><br/><code><span leaf="">b<span class="code-snippet__title">WFjBBFhYzoxNjoxNTo2ZDphNToxZf</span>+<span class="code-snippet__title">Gy7XKaRkwFxYEaW1laQQPMzU2MTI0NzE1</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">MDY4NTU1</span>/4erkd<span class="code-snippet__title">JkIzAhFgR1ZGlkBBkwMDAwODExMC0wMDE4NjlBMjNDMjAyMDFF</span></span></code><br/><code><span leaf="">/4e7tc<span class="code-snippet__title">JjGzAZFgR3bWFjBBFhYzoxNjoxNTo3OTo4ZTpmZf</span>+<span class="code-snippet__title">Hm5XSZDowOBYEc2Vp</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">ZAQwMDQyRDI3QzU4QTE2OTAwMjIzMzIwMTMxNzI0MDUyMjRGRDE3MkZCRUQxM0VF</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">QzdCMAoGCCqGSM49BAMCA0kAMEYCIQCytP7jpU3xbaRHvXyvqCcum2F</span>/kk<span class="code-snippet__title">DBSv1x</span></span></code><br/><code><span leaf="">/<span class="code-snippet__title">RFAUXLJQwIhALeFnzR9R9BFlTjLS</span>+nql3<span class="code-snippet__title">Cb6FqxywwJfCvf9v</span>+<span class="code-snippet__title">JJTJl</span></span></code><br/><code><span leaf="">-----<span class="code-snippet__title">END</span> <span class="code-snippet__title">CERTIFICATE</span>-----&#34;&#34;&#34;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> devicecert <span class="code-snippet__keyword">is</span> <span class="code-snippet__title">None</span>:</span></code><br/><code><span leaf="">            devicecert = &#34;&#34;&#34;-----<span class="code-snippet__title">BEGIN</span> <span class="code-snippet__title">CERTIFICATE</span>-----</span></code><br/><code><span leaf=""><span class="code-snippet__title">MIICIzCCAaigAwIBAgIIeNjhG9tnDGgwCgYIKoZIzj0EAwIwUzEnMCUGA1UEAwwe</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">QmFzaWMgQXR0ZXN0YXRpb24gVXNlciBSb290IENBMRMwEQYDVQQKDApBcHBsZSBJ</span></span></code><br/><code><span leaf="">bm<span class="code-snippet__title">MuMRMwEQYDVQQIDApDYWxpZm9ybmlhMB4XDTE3MDQyMDAwNDIwMFoXDTMyMDMy</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">MjAwMDAwMFowUzEnMCUGA1UEAwweQmFzaWMgQXR0ZXN0YXRpb24gVXNlciBTdWIg</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">Q0ExMRMwEQYDVQQKDApBcHBsZSBJbmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMFkw</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoSZ</span>/1t9e<span class="code-snippet__title">BAEVp5a8PrXacmbGb8zNC1X3</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">StLI9YO6Y0CL7blHmSGmjGWTwD4Q</span>+i0<span class="code-snippet__title">J2BY3</span>+b<span class="code-snippet__title">PHTGRyA9jGB3MSbaNmMGQwEgYD</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">VR0TAQH</span>/<span class="code-snippet__title">BAgwBgEB</span>/w<span class="code-snippet__title">IBADAfBgNVHSMEGDAWgBSD5aMhnrB0w</span>/lhk<span class="code-snippet__title">P2XTiMQdqSj</span></span></code><br/><code><span leaf="">8j<span class="code-snippet__title">AdBgNVHQ4EFgQU5mWf1DYLTXUdQ9xmOH</span>/uqe<span class="code-snippet__title">NSD80wDgYDVR0PAQH</span>/<span class="code-snippet__title">BAQDAgEG</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">MAoGCCqGSM49BAMCA2kAMGYCMQC3M360LLtJS60Z9q3vVjJxMgMcFQ1roGTUcKqv</span></span></code><br/><code><span leaf=""><span class="code-snippet__title">W</span>+4h<span class="code-snippet__title">J4CeJjySXTgq6IEHn</span>/y<span class="code-snippet__title">Wab4CMQCm5NnK6SOSK</span>+<span class="code-snippet__title">AqWum9lL87W3E6AA1f2TvJ</span></span></code><br/><code><span leaf="">/hgok/34jr93nh<span class="code-snippet__title">S87tOQNdxDS8zyiqw</span>=</span></code><br/><code><span leaf="">-----<span class="code-snippet__title">END</span> <span class="code-snippet__title">CERTIFICATE</span>-----&#34;&#34;&#34;</span></code><br/><code><span leaf="">        # ---- 2. 拼接证书 + appname ---- #</span></code><br/><code><span leaf="">        cert_bytes = bytearray()</span></code><br/><code><span leaf="">        cert_bytes.extend(appcert.encode(&#34;utf-8&#34;))</span></code><br/><code><span leaf="">        cert_bytes.append(0x0<span class="code-snippet__title">A</span>)  # 额外换行</span></code><br/><code><span leaf="">        cert_bytes.extend(devicecert.encode(&#34;utf-8&#34;))</span></code><br/><code><span leaf="">        app_bytes = appname.encode(&#34;utf-8&#34;)</span></code><br/><code><span leaf="">        cert_len = len(cert_bytes)</span></code><br/><code><span leaf="">        app_len = len(app_bytes)</span></code><br/><code><span leaf="">        # ---- 3. 构造明文 ---- #</span></code><br/><code><span leaf=""><br/></span></code><br/><code><span leaf="">        很简单，如有需要自己实现</span></code><br/><code><span leaf="">        # ---- 4. <span class="code-snippet__title">AES</span>-<span class="code-snippet__title">GCM</span> 加密（key/iv 来自 <span class="code-snippet__title">HKDF）</span> ---- #</span></code><br/><code><span leaf=""><br/></span></code><br/><code><span leaf="">        很简单，如有需要自己实现</span></code><br/><code><span leaf="">        # ---- 5. 组装最终 <span class="code-snippet__title">Token</span> ---- #</span></code><br/><code><span leaf="">        result = bytearray()</span></code><br/><code><span leaf="">        result.extend(<span class="code-snippet__keyword">struct</span>.pack(&#34;&lt;<span class="code-snippet__title">I</span>&#34;, 2))      # version = 2 (小端 u32)</span></code><br/><code><span leaf="">        result.extend(tag)                       # 16<span class="code-snippet__title">B</span> tag</span></code><br/><code><span leaf="">        result.extend(<span class="code-snippet__keyword">self</span>.server_pub)           # 服务器公钥</span></code><br/><code><span leaf="">        result.extend(<span class="code-snippet__keyword">self</span>.ephemeral_pub)        # 设备临时公钥</span></code><br/><code><span leaf="">        result.extend(<span class="code-snippet__keyword">struct</span>.pack(&#34;&lt;<span class="code-snippet__title">I</span>&#34;, len(ciphertext)))</span></code><br/><code><span leaf="">        result.extend(ciphertext)</span></code><br/><code><span leaf="">        # <span class="code-snippet__title">Base64</span> 输出</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">return</span> base64.b64encode(bytes(result)).decode(&#34;ascii&#34;)</span></code><br/><code><span leaf=""><span class="code-snippet__keyword">if</span> __name__ == &#34;__main__&#34;:</span></code><br/><code><span leaf="">    builder = <span class="code-snippet__title">DeviceCheckTokenBuilder</span>()</span></code><br/><code><span leaf="">    token = builder.build_dc_token()</span></code><br/><code><span leaf="">    print(&#34;<span class="code-snippet__title">Demo</span> <span class="code-snippet__title">DC</span> <span class="code-snippet__title">Token</span> (base64):&#34;)</span></code><br/><code><span leaf="">    print(token)</span></code><br/></pre></p><p data-pm-slice="0 0 []"><span leaf="">不建议生成纯算法原因在于：</span><strong><span leaf="">私钥不可导出</span></strong><span leaf="">。 我们在外部代码中只能看到 Apple 的公钥，但无法获取在那一瞬间硬件生成的临时私钥。没有私钥，就无法在外部环境中计算出与硬件一致的 ECDH 共享密钥，也就无法生成能被 Apple 服务器解密的 Token，写死一份是有风险的，不确定Apple服务器端是否有检测。RPC调用可能真实性会更高一些。</span></p><h3 data-pm-slice="0 0 []"><span leaf="">4.4 证书替换的可行性分析</span></h3><p><span leaf="">除了伪造 ID，我们还可以通过 Hook </span><code><span leaf="">_encryptData</span></code><span leaf=""> 的入参来</span><strong><span leaf="">伪造设备信息生成我们想要的token</span></strong><span leaf="">。</span></p><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">伪造证书</span></strong><span leaf="">：</span></p></li><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">逆向分析发现 </span><code><span leaf="">_encryptData</span></code><span leaf=""> 的 </span><code><span leaf="">data</span></code><span leaf=""> 参数本质上是 PEM 格式证书的 Base64 编码。</span></p></li><li style="text-align:left;"><p><span leaf="">可以预先收集一批“白名单设备”的证书。</span></p></li><li style="text-align:left;"><p><span leaf="">在 Hook 点将当前的“黑名单证书”替换为“白名单证书”。frida脚本如下：</span></p></li></ul></ul><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="java"><code><span leaf="">(function () {</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> (!ObjC.available) {</span></code><br/><code><span leaf="">        console.error(<span class="code-snippet__string">&#34;[-] ObjC runtime not available&#34;</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__type">const</span> <span class="code-snippet__variable">NULL</span> <span class="code-snippet__operator">=</span> ptr(<span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__comment">// ========= 通用符号解析工具 =========</span></span></code><br/><code><span leaf="">    function <span class="code-snippet__title">resolveSymbol</span><span class="code-snippet__params">(moduleHint, name)</span> {</span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">addr</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__literal">null</span>;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">try</span> { addr = Module.findExportByName(moduleHint, name); } <span class="code-snippet__keyword">catch</span> (e) {}</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (!addr) {</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">try</span> { addr = Module.findExportByName(<span class="code-snippet__literal">null</span>, name); } <span class="code-snippet__keyword">catch</span> (e) {}</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (addr) {</span></code><br/><code><span leaf="">            console.log(<span class="code-snippet__string">&#34;[*] Resolved &#34;</span> + name + <span class="code-snippet__string">&#34; @ &#34;</span> + addr);</span></code><br/><code><span leaf="">        } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">            console.error(<span class="code-snippet__string">&#34;[-] Failed to resolve symbol: &#34;</span> + name);</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">return</span> addr;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__comment">// ====== 导出 C 函数（允许部分缺失） ======</span></span></code><br/><code><span leaf="">    <span class="code-snippet__type">const</span> <span class="code-snippet__variable">func_create</span>   <span class="code-snippet__operator">=</span> resolveSymbol(<span class="code-snippet__string">&#34;Security&#34;</span>,       <span class="code-snippet__string">&#34;SecCertificateCreateWithData&#34;</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__type">const</span> <span class="code-snippet__variable">func_summary</span>  <span class="code-snippet__operator">=</span> resolveSymbol(<span class="code-snippet__string">&#34;Security&#34;</span>,       <span class="code-snippet__string">&#34;SecCertificateCopySubjectSummary&#34;</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__type">const</span> <span class="code-snippet__variable">func_copyData</span> <span class="code-snippet__operator">=</span> resolveSymbol(<span class="code-snippet__string">&#34;Security&#34;</span>,       <span class="code-snippet__string">&#34;SecCertificateCopyData&#34;</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__type">const</span> <span class="code-snippet__variable">func_copyVals</span> <span class="code-snippet__operator">=</span> resolveSymbol(<span class="code-snippet__string">&#34;Security&#34;</span>,       <span class="code-snippet__string">&#34;SecCertificateCopyValues&#34;</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__type">const</span> <span class="code-snippet__variable">func_release</span>  <span class="code-snippet__operator">=</span> resolveSymbol(<span class="code-snippet__string">&#34;CoreFoundation&#34;</span>, <span class="code-snippet__string">&#34;CFRelease&#34;</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__comment">// 这三个必须要有，否则没法干活</span></span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> (!func_create || !func_copyData || !func_release) {</span></code><br/><code><span leaf="">        console.error(<span class="code-snippet__string">&#34;[-] Critical symbols missing, abort.&#34;</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__type">const</span> <span class="code-snippet__variable">SecCertificateCreateWithData</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__title">NativeFunction</span>(func_create, <span class="code-snippet__string">&#39;pointer&#39;</span>, [<span class="code-snippet__string">&#39;pointer&#39;</span>, <span class="code-snippet__string">&#39;pointer&#39;</span>]);</span></code><br/><code><span leaf="">    <span class="code-snippet__type">const</span> <span class="code-snippet__variable">SecCertificateCopyData</span>       <span class="code-snippet__operator">=</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__title">NativeFunction</span>(func_copyData, <span class="code-snippet__string">&#39;pointer&#39;</span>, [<span class="code-snippet__string">&#39;pointer&#39;</span>]);</span></code><br/><code><span leaf="">    <span class="code-snippet__type">const</span> <span class="code-snippet__variable">CFRelease</span>                    <span class="code-snippet__operator">=</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__title">NativeFunction</span>(func_release, <span class="code-snippet__string">&#39;void&#39;</span>,    [<span class="code-snippet__string">&#39;pointer&#39;</span>]);</span></code><br/><code><span leaf="">    <span class="code-snippet__type">var</span> <span class="code-snippet__variable">SecCertificateCopySubjectSummary</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__literal">null</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> (func_summary) {</span></code><br/><code><span leaf="">        SecCertificateCopySubjectSummary = <span class="code-snippet__keyword">new</span> <span class="code-snippet__title">NativeFunction</span>(func_summary, <span class="code-snippet__string">&#39;pointer&#39;</span>, [<span class="code-snippet__string">&#39;pointer&#39;</span>]);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__type">var</span> <span class="code-snippet__variable">SecCertificateCopyValues</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__literal">null</span>;</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> (func_copyVals) {</span></code><br/><code><span leaf="">        SecCertificateCopyValues = <span class="code-snippet__keyword">new</span> <span class="code-snippet__title">NativeFunction</span>(func_copyVals, <span class="code-snippet__string">&#39;pointer&#39;</span>, [<span class="code-snippet__string">&#39;pointer&#39;</span>, <span class="code-snippet__string">&#39;pointer&#39;</span>, <span class="code-snippet__string">&#39;pointer&#39;</span>]);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__comment">// ====== 小工具函数 ======</span></span></code><br/><code><span leaf="">    function <span class="code-snippet__title">cfToObj</span><span class="code-snippet__params">(ref)</span> {</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (!ref || ref.isNull()) <span class="code-snippet__keyword">return</span> <span class="code-snippet__literal">null</span>;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">try</span> { <span class="code-snippet__keyword">return</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__title">ObjC</span>.Object(ref); }</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">catch</span> (e) { <span class="code-snippet__keyword">return</span> <span class="code-snippet__literal">null</span>; }</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__comment">// 按标准 PEM 格式打印证书（每行 64 字符）</span></span></code><br/><code><span leaf="">    function <span class="code-snippet__title">printPemFromDerNSData</span><span class="code-snippet__params">(derNSData)</span> {</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (!derNSData) <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">b64</span> <span class="code-snippet__operator">=</span> derNSData.base64EncodedStringWithOptions_(<span class="code-snippet__number">0</span>).toString();</span></code><br/><code><span leaf="">        console.log(<span class="code-snippet__string">&#34;-----BEGIN CERTIFICATE-----&#34;</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">for</span> (<span class="code-snippet__type">var</span> <span class="code-snippet__variable">i</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__number">0</span>; i &lt; b64.length; i += <span class="code-snippet__number">64</span>) {</span></code><br/><code><span leaf="">            console.log(b64.substr(i, <span class="code-snippet__number">64</span>));</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        console.log(<span class="code-snippet__string">&#34;-----END CERTIFICATE-----&#34;</span>);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__comment">// 打印 NSData （返回 token 用）</span></span></code><br/><code><span leaf="">    function <span class="code-snippet__title">dumpNSData</span><span class="code-snippet__params">(nsdata, label, maxHexBytes)</span> {</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (!nsdata) {</span></code><br/><code><span leaf="">            console.log(<span class="code-snippet__string">&#34;[&#34;</span> + label + <span class="code-snippet__string">&#34;] &lt;NSData is null&gt;&#34;</span>);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">len</span> <span class="code-snippet__operator">=</span> nsdata.length();</span></code><br/><code><span leaf="">        console.log(<span class="code-snippet__string">&#34;[&#34;</span> + label + <span class="code-snippet__string">&#34;] length: &#34;</span> + len + <span class="code-snippet__string">&#34; bytes&#34;</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__comment">// 1) Base64（全部）</span></span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">b64</span> <span class="code-snippet__operator">=</span> nsdata.base64EncodedStringWithOptions_(<span class="code-snippet__number">0</span>).toString();</span></code><br/><code><span leaf="">        console.log(<span class="code-snippet__string">&#34;[&#34;</span> + label + <span class="code-snippet__string">&#34;] base64:&#34;</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">for</span> (<span class="code-snippet__type">var</span> <span class="code-snippet__variable">i</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__number">0</span>; i &lt; b64.length; i += <span class="code-snippet__number">64</span>) {</span></code><br/><code><span leaf="">            console.log(<span class="code-snippet__string">&#34;    &#34;</span> + b64.substr(i, <span class="code-snippet__number">64</span>));</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__comment">// 2) Hex（前 maxHexBytes）</span></span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">limit</span> <span class="code-snippet__operator">=</span> Math.min(len, maxHexBytes || <span class="code-snippet__number">256</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">bytesPtr</span> <span class="code-snippet__operator">=</span> nsdata.bytes();</span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">hex</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__string">&#34;&#34;</span>;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">for</span> (<span class="code-snippet__type">var</span> <span class="code-snippet__variable">j</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__number">0</span>; j &lt; limit; j++) {</span></code><br/><code><span leaf="">            <span class="code-snippet__type">var</span> <span class="code-snippet__variable">b</span> <span class="code-snippet__operator">=</span> Memory.readU8(bytesPtr.add(j));</span></code><br/><code><span leaf="">            <span class="code-snippet__type">var</span> <span class="code-snippet__variable">h</span> <span class="code-snippet__operator">=</span> (<span class="code-snippet__string">&#34;0&#34;</span> + b.toString(<span class="code-snippet__number">16</span>)).slice(-<span class="code-snippet__number">2</span>);</span></code><br/><code><span leaf="">            hex += h + ((j + <span class="code-snippet__number">1</span>) % <span class="code-snippet__number">16</span> === <span class="code-snippet__number">0</span> ? <span class="code-snippet__string">&#34;\n    &#34;</span> : <span class="code-snippet__string">&#34; &#34;</span>);</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        console.log(<span class="code-snippet__string">&#34;[&#34;</span> + label + <span class="code-snippet__string">&#34;] hex (first &#34;</span> + limit + <span class="code-snippet__string">&#34; bytes):\n    &#34;</span> + hex);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    function <span class="code-snippet__title">printCertDetail</span><span class="code-snippet__params">(certRef, label)</span> {</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (!certRef || certRef.isNull()) {</span></code><br/><code><span leaf="">            console.log(<span class="code-snippet__string">&#34;[&#34;</span> + label + <span class="code-snippet__string">&#34;] ❌ CertRef is NULL&#34;</span>);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        console.log(<span class="code-snippet__string">&#34;\n========== [&#34;</span> + label + <span class="code-snippet__string">&#34;] ==========&#34;</span>);</span></code><br/><code><span leaf="">        <span class="code-snippet__comment">// 1. Subject Summary（如果符号存在）</span></span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (SecCertificateCopySubjectSummary) {</span></code><br/><code><span leaf="">            <span class="code-snippet__type">var</span> <span class="code-snippet__variable">summaryRef</span> <span class="code-snippet__operator">=</span> SecCertificateCopySubjectSummary(certRef);</span></code><br/><code><span leaf="">            <span class="code-snippet__type">var</span> <span class="code-snippet__variable">summaryObj</span> <span class="code-snippet__operator">=</span> cfToObj(summaryRef);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">if</span> (summaryObj) {</span></code><br/><code><span leaf="">                console.log(<span class="code-snippet__string">&#34;SubjectSummary : &#34;</span> + summaryObj.toString());</span></code><br/><code><span leaf="">            } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                console.log(<span class="code-snippet__string">&#34;SubjectSummary : &lt;null&gt;&#34;</span>);</span></code><br/><code><span leaf="">            }</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">if</span> (summaryRef &amp;&amp; !summaryRef.isNull()) CFRelease(summaryRef);</span></code><br/><code><span leaf="">        } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">            console.log(<span class="code-snippet__string">&#34;SubjectSummary : &lt;unavailable&gt;&#34;</span>);</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__comment">// 2. DER -&gt; PEM</span></span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">derRef</span> <span class="code-snippet__operator">=</span> SecCertificateCopyData(certRef);</span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">derObj</span> <span class="code-snippet__operator">=</span> cfToObj(derRef);</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (derObj) {</span></code><br/><code><span leaf="">            printPemFromDerNSData(derObj);</span></code><br/><code><span leaf="">        } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">            console.log(<span class="code-snippet__string">&#34;[!] SecCertificateCopyData failed&#34;</span>);</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (derRef &amp;&amp; !derRef.isNull()) CFRelease(derRef);</span></code><br/><code><span leaf="">        <span class="code-snippet__comment">// 3. 详细 values（如果符号存在）</span></span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (SecCertificateCopyValues) {</span></code><br/><code><span leaf="">            <span class="code-snippet__type">var</span> <span class="code-snippet__variable">valuesRef</span> <span class="code-snippet__operator">=</span> SecCertificateCopyValues(certRef, NULL, NULL);</span></code><br/><code><span leaf="">            <span class="code-snippet__type">var</span> <span class="code-snippet__variable">valuesObj</span> <span class="code-snippet__operator">=</span> cfToObj(valuesRef);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">if</span> (valuesObj) {</span></code><br/><code><span leaf="">                console.log(<span class="code-snippet__string">&#34;Values (raw NSDictionary):&#34;</span>);</span></code><br/><code><span leaf="">                console.log(<span class="code-snippet__string">&#34;  &#34;</span> + valuesObj.toString());</span></code><br/><code><span leaf="">            } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                console.log(<span class="code-snippet__string">&#34;[!] SecCertificateCopyValues returned NULL&#34;</span>);</span></code><br/><code><span leaf="">            }</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">if</span> (valuesRef &amp;&amp; !valuesRef.isNull()) CFRelease(valuesRef);</span></code><br/><code><span leaf="">        } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">            console.log(<span class="code-snippet__string">&#34;Values : &lt;SecCertificateCopyValues unavailable&gt;&#34;</span>);</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        console.log(<span class="code-snippet__string">&#34;========== [END] ==========\n&#34;</span>);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__comment">// ====== Hook DCCertificateGenerator ======</span></span></code><br/><code><span leaf="">    console.log(<span class="code-snippet__string">&#34;\n[*] Script Loaded. Waiting...&#34;</span>);</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">try</span> {</span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">className</span>  <span class="code-snippet__operator">=</span> <span class="code-snippet__string">&#34;DCCertificateGenerator&#34;</span>;</span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">methodName</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__string">&#34;- _encryptData:serverSyncedDate:error:&#34;</span>;</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (!ObjC.classes[className]) {</span></code><br/><code><span leaf="">            console.error(<span class="code-snippet__string">&#34;[-] Class &#34;</span> + className + <span class="code-snippet__string">&#34; not found&#34;</span>);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">if</span> (!ObjC.classes[className][methodName]) {</span></code><br/><code><span leaf="">            console.error(<span class="code-snippet__string">&#34;[-] Method &#34;</span> + methodName + <span class="code-snippet__string">&#34; not found on &#34;</span> + className);</span></code><br/><code><span leaf="">            <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">        }</span></code><br/><code><span leaf="">        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">hook</span> <span class="code-snippet__operator">=</span> ObjC.classes[className][methodName];</span></code><br/><code><span leaf="">        Interceptor.attach(hook.implementation, {</span></code><br/><code><span leaf="">            onEnter: function (args) {</span></code><br/><code><span leaf="">                console.warn(<span class="code-snippet__string">&#34;\n[+] 🟢 Intercepted Encryption Request&#34;</span>);</span></code><br/><code><span leaf="">                <span class="code-snippet__comment">// args[2] = _encryptData:  (NSData*)</span></span></code><br/><code><span leaf="">                <span class="code-snippet__type">var</span> <span class="code-snippet__variable">dataObj</span> <span class="code-snippet__operator">=</span> cfToObj(args[<span class="code-snippet__number">2</span>]);</span></code><br/><code><span leaf="">                <span class="code-snippet__keyword">if</span> (!dataObj) {</span></code><br/><code><span leaf="">                    console.log(<span class="code-snippet__string">&#34;  [Payload Info] dataObj is NULL or invalid&#34;</span>);</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">                }</span></code><br/><code><span leaf="">                <span class="code-snippet__type">var</span> <span class="code-snippet__variable">len</span> <span class="code-snippet__operator">=</span> dataObj.length();</span></code><br/><code><span leaf="">                console.log(<span class="code-snippet__string">&#34;  [Payload Info] Raw Length: &#34;</span> + len + <span class="code-snippet__string">&#34; bytes&#34;</span>);</span></code><br/><code><span leaf="">                <span class="code-snippet__comment">// 先直接当 DER 证书试</span></span></code><br/><code><span leaf="">                <span class="code-snippet__type">var</span> <span class="code-snippet__variable">certRef</span> <span class="code-snippet__operator">=</span> SecCertificateCreateWithData(NULL, dataObj.handle);</span></code><br/><code><span leaf="">                <span class="code-snippet__keyword">if</span> (!certRef.isNull()) {</span></code><br/><code><span leaf="">                    printCertDetail(certRef, <span class="code-snippet__string">&#34;Original (DER)&#34;</span>);</span></code><br/><code><span leaf="">                    CFRelease(certRef);</span></code><br/><code><span leaf="">                } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                    console.log(<span class="code-snippet__string">&#34;  [Info] SecCertificateCreateWithData failed, trying PEM path...&#34;</span>);</span></code><br/><code><span leaf="">                    <span class="code-snippet__type">var</span> <span class="code-snippet__variable">pemStrObj</span> <span class="code-snippet__operator">=</span> ObjC.classes.NSString</span></code><br/><code><span leaf="">                        .alloc()</span></code><br/><code><span leaf="">                        .initWithData_encoding_(dataObj, <span class="code-snippet__number">4</span>); <span class="code-snippet__comment">// UTF8</span></span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">if</span> (pemStrObj) {</span></code><br/><code><span leaf="">                        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">strContent</span> <span class="code-snippet__operator">=</span> pemStrObj.toString();</span></code><br/><code><span leaf="">                        <span class="code-snippet__keyword">if</span> (strContent.indexOf(<span class="code-snippet__string">&#34;BEGIN CERTIFICATE&#34;</span>) !== -<span class="code-snippet__number">1</span>) {</span></code><br/><code><span leaf="">                            console.log(<span class="code-snippet__string">&#34;  [Original Cert] Format: PEM (Base64 Text)&#34;</span>);</span></code><br/><code><span leaf="">                            <span class="code-snippet__type">var</span> <span class="code-snippet__variable">matches</span> <span class="code-snippet__operator">=</span> strContent.match(/-----BEGIN CERTIFICATE-----([\s\S]+?)-----END CERTIFICATE-----/g);</span></code><br/><code><span leaf="">                            <span class="code-snippet__keyword">if</span> (matches) {</span></code><br/><code><span leaf="">                                <span class="code-snippet__keyword">for</span> (<span class="code-snippet__type">var</span> <span class="code-snippet__variable">i</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__number">0</span>; i &lt; matches.length; i++) {</span></code><br/><code><span leaf="">                                    <span class="code-snippet__type">var</span> <span class="code-snippet__variable">block</span> <span class="code-snippet__operator">=</span> matches[i];</span></code><br/><code><span leaf="">                                    <span class="code-snippet__type">var</span> <span class="code-snippet__variable">cleanBase64</span> <span class="code-snippet__operator">=</span> block</span></code><br/><code><span leaf="">                                        .replace(/-----BEGIN CERTIFICATE-----/g, <span class="code-snippet__string">&#34;&#34;</span>)</span></code><br/><code><span leaf="">                                        .replace(/-----END CERTIFICATE-----/g, <span class="code-snippet__string">&#34;&#34;</span>)</span></code><br/><code><span leaf="">                                        .replace(/[\r\n]/g, <span class="code-snippet__string">&#34;&#34;</span>);</span></code><br/><code><span leaf="">                                    <span class="code-snippet__type">var</span> <span class="code-snippet__variable">derData</span> <span class="code-snippet__operator">=</span> ObjC.classes.NSData</span></code><br/><code><span leaf="">                                        .alloc()</span></code><br/><code><span leaf="">                                        .initWithBase64EncodedString_options_(cleanBase64, <span class="code-snippet__number">0</span>);</span></code><br/><code><span leaf="">                                    <span class="code-snippet__keyword">if</span> (derData) {</span></code><br/><code><span leaf="">                                        <span class="code-snippet__type">var</span> <span class="code-snippet__variable">certRef2</span> <span class="code-snippet__operator">=</span> SecCertificateCreateWithData(NULL, derData.handle);</span></code><br/><code><span leaf="">                                        <span class="code-snippet__keyword">if</span> (!certRef2.isNull()) {</span></code><br/><code><span leaf="">                                            printCertDetail(certRef2, <span class="code-snippet__string">&#34;Parsed PEM Cert #&#34;</span> + (i + <span class="code-snippet__number">1</span>));</span></code><br/><code><span leaf="">                                            CFRelease(certRef2);</span></code><br/><code><span leaf="">                                        } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                            console.log(<span class="code-snippet__string">&#34;  [Parsed PEM Cert #&#34;</span> + (i + <span class="code-snippet__number">1</span>) + <span class="code-snippet__string">&#34;] ❌ SecCertificateCreateWithData failed&#34;</span>);</span></code><br/><code><span leaf="">                                        }</span></code><br/><code><span leaf="">                                    } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                        console.log(<span class="code-snippet__string">&#34;  [Parsed PEM Cert #&#34;</span> + (i + <span class="code-snippet__number">1</span>) + <span class="code-snippet__string">&#34;] ❌ initWithBase64EncodedString failed&#34;</span>);</span></code><br/><code><span leaf="">                                    }</span></code><br/><code><span leaf="">                                }</span></code><br/><code><span leaf="">                            } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                                console.log(<span class="code-snippet__string">&#34;  [Original Cert] PEM markers found but no blocks matched&#34;</span>);</span></code><br/><code><span leaf="">                            }</span></code><br/><code><span leaf="">                        } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                            console.log(<span class="code-snippet__string">&#34;  [Original Cert] Format: Unknown Binary / Non-PEM text&#34;</span>);</span></code><br/><code><span leaf="">                        }</span></code><br/><code><span leaf="">                    } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                        console.log(<span class="code-snippet__string">&#34;  [Original Cert] Cannot decode as UTF-8 string&#34;</span>);</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                }</span></code><br/><code><span leaf="">            },</span></code><br/><code><span leaf="">            onLeave: function (retval) {</span></code><br/><code><span leaf="">                <span class="code-snippet__keyword">if</span> (retval.isNull()) {</span></code><br/><code><span leaf="">                    console.log(<span class="code-snippet__string">&#34;[+] Return value is NULL&#34;</span>);</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">return</span>;</span></code><br/><code><span leaf="">                }</span></code><br/><code><span leaf="">                <span class="code-snippet__keyword">try</span> {</span></code><br/><code><span leaf="">                    <span class="code-snippet__type">var</span> <span class="code-snippet__variable">retObj</span> <span class="code-snippet__operator">=</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__title">ObjC</span>.Object(retval);</span></code><br/><code><span leaf="">                    <span class="code-snippet__type">var</span> <span class="code-snippet__variable">clsName</span> <span class="code-snippet__operator">=</span> retObj.$className || <span class="code-snippet__string">&#34;&lt;unknown&gt;&#34;</span>;</span></code><br/><code><span leaf="">                    console.log(<span class="code-snippet__string">&#34;[+] Return ObjC class: &#34;</span> + clsName);</span></code><br/><code><span leaf="">                    <span class="code-snippet__keyword">if</span> (retObj.isKindOfClass_(ObjC.classes.NSData)) {</span></code><br/><code><span leaf="">                        <span class="code-snippet__comment">// 返回 NSData（大概率是加密后的 token）</span></span></code><br/><code><span leaf="">                        dumpNSData(retObj, <span class="code-snippet__string">&#34;Return NSData&#34;</span>, <span class="code-snippet__number">256</span>);</span></code><br/><code><span leaf="">                    } <span class="code-snippet__keyword">else</span> <span class="code-snippet__keyword">if</span> (retObj.isKindOfClass_(ObjC.classes.NSString)) {</span></code><br/><code><span leaf="">                        console.log(<span class="code-snippet__string">&#34;[+] Return NSString:&#34;</span>);</span></code><br/><code><span leaf="">                        console.log(<span class="code-snippet__string">&#34;    &#34;</span> + retObj.toString());</span></code><br/><code><span leaf="">                    } <span class="code-snippet__keyword">else</span> {</span></code><br/><code><span leaf="">                        console.log(<span class="code-snippet__string">&#34;[+] Return object description:&#34;</span>);</span></code><br/><code><span leaf="">                        console.log(<span class="code-snippet__string">&#34;    &#34;</span> + retObj.toString());</span></code><br/><code><span leaf="">                    }</span></code><br/><code><span leaf="">                } <span class="code-snippet__keyword">catch</span> (e) {</span></code><br/><code><span leaf="">                    console.log(<span class="code-snippet__string">&#34;[!] onLeave: cannot wrap retval as ObjC.Object -&gt; &#34;</span> + e.message);</span></code><br/><code><span leaf="">                }</span></code><br/><code><span leaf="">            }</span></code><br/><code><span leaf="">        });</span></code><br/><code><span leaf="">        console.log(<span class="code-snippet__string">&#34;[*] Hook Success&#34;</span>);</span></code><br/><code><span leaf="">    } <span class="code-snippet__keyword">catch</span> (e) {</span></code><br/><code><span leaf="">        console.error(<span class="code-snippet__string">&#34;[!] Hook Error: &#34;</span> + e.message);</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">})();</span></code><br/><code><span leaf=""><span class="code-snippet__comment">// frida -U -n devicecheckd -l devicecheckd1.js</span></span></code><br/></pre></p><h2 data-pm-slice="0 0 []"><strong><span leaf="">五、在爬虫 / 群控场景中的实战应用</span></strong></h2><p><span leaf="">在理解了底层加密原理和 基本流程后，我们需要将视角拉回到业务对抗的一线。在黑灰产（爬虫方）与风控（防守方）的博弈中，DeviceCheck 不仅仅是一个 API，而是判定设备“生死”的判官。</span></p><h3><span leaf="">5.1、</span><strong><span leaf="">爬虫方怎么用真机 + DeviceCheck 规避风控”</span></strong></h3><p><span leaf="">由于 DeviceCheck 的核心密钥（ECDH 协商用的临时私钥）被锁在 Secure Enclave 硬件中，纯算法还原（脱机算法）的路径已被彻底堵死。目前的黑灰产已全面转向**“真机群控”</span><strong><span leaf="">与</span></strong><span leaf="">“底层 Hook”**相结合的模式。</span></p><h3><span leaf="">“借尸还魂”：证书与身份的批量伪造</span></h3><p><span leaf="">攻击者建立一个庞大的“白名单设备库”，这些设备是真实存在的、干净的 iPhone。</span></p><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">采集阶段</span></strong><span leaf="">：使用越狱设备或硬改工具，批量提取白名单设备的 </span><code><span leaf="">Device Certificate</span></code><span leaf=""> (PEM) 和 </span><code><span leaf="">UniqueChipID</span></code><span leaf=""> 等硬件指纹。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">攻击阶段</span></strong><span leaf="">：在被封禁的设备（或专门用于攻击的“脏”设备）上运行 Frida 脚本（如我们之前编写的脚本）。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">运行时篡改</span></strong><span leaf="">：</span></p></li><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">服务器端爬虫</span></strong><span leaf="">：负责跑业务逻辑（HTTP 请求），遇到需要 DeviceToken 的接口时，向手机发送 RPC 请求。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">手机端（Agent）</span></strong><span leaf="">：运行在后台，接收 RPC 指令，调用 </span><code><span leaf="">DCDevice</span></code><span leaf=""> 生成 Token（配合上述的 Hook 伪造策略），然后将 Token 返回给</span><strong><span leaf="">服务器端</span></strong><span leaf="">。</span></p></li></ul><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">Hook </span><code><span leaf="">devicecheckd</span></code><span leaf=""> 进程。</span></p></li><li style="text-align:left;"><p><span leaf="">在生成 Token 前，将内存中的“脏证书”替换为采集来的“白证书”。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">核心突破</span></strong><span leaf="">：虽然硬件签名（SE）使用的是脏设备的私钥，但只要 Hook 了 </span><code><span leaf="">DCContext</span></code><span leaf=""> 伪造 AppID，生成的 Token 在逻辑格式上是合法的。</span></p></li><li><h3><span leaf="">  “RPC 签名节点”：群控架构的演进</span></h3><p><span leaf="">  为了规模化作业，攻击者不再在每台手机上跑业务逻辑，而是将其改造为</span><strong><span leaf="">签名节点</span></strong><span leaf="">。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">架构</span></strong><span leaf="">：</span></p></li><li style="text-align:left;"><p><strong><span leaf="">优势</span></strong><span leaf="">：一台真机可以为十几个线程提供签名服务，极大地降低了硬件成本。</span></p></li></ul></ul><h3><strong><span leaf="">5.2、防守方怎么用 DeviceCheck 收拾真机爬虫”</span></strong></h3><p><span leaf="">面对上述攻击，防守方并非束手无策。正确使用 DeviceCheck 的服务端能力，可以对真机群控造成降维打击。</span></p><h3><span leaf="">强制开启“双重验证”</span></h3><p><span leaf="">绝不能仅仅依赖“Token 能否被解码”来判断请求合法性。必须调用 Apple 的 Query/Update API 并检查返回值。</span></p><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">检查报错</span></strong><span leaf="">：如果 Apple校验token API 返回错误，直接封禁该请求。这说明攻击者试图在 A 设备上使用 B 设备的证书（移花接木攻击），这是目前 Hook 方案无法解决的死穴。</span></p></li></ul><h3><span leaf="">善用 2-bit 状态标记（持久化封禁）</span></h3><p><span leaf="">DeviceCheck 最强大的地方在于</span><strong><span leaf="">状态的硬件绑定性</span></strong><span leaf="">。</span></p><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">策略</span></strong><span leaf="">：当风控系统检测到某账号存在异常行为（如高频请求、脚本操作）时，不要仅仅封禁账号（UID），而是立即调用 DeviceCheck 的 </span><code><span leaf="">update_two_bits</span></code><span leaf=""> 接口，将该设备的 </span><strong><span leaf="">Bit 1 置为 1</span></strong><span leaf="">（标记为“黑名单设备”）。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">效果</span></strong><span leaf="">：</span></p></li><ul class="list-paddingleft-1"><li style="text-align:left;"><p><span leaf="">攻击者即使卸载 App、重装 App，Bit 1 的状态依然是 1。</span></p></li><li style="text-align:left;"><p><span leaf="">攻击者即使抹掉 iPhone 恢复出厂设置（在未更换主板的情况下），Apple 服务器上的 Bit 1 状态依然保留。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">击杀点</span></strong><span leaf="">：这迫使攻击者必须更换物理硬件（硬改）/或更激活证书才能清洗设备状态，极大地拉高了攻击成本。</span></p></li></ul></ul><h3><span leaf="">时间戳与频率风控</span></h3><ul class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">时间窗口</span></strong><span leaf="">：严格校验 Token 内部解密出的 </span><code><span leaf="">timestamp</span></code><span leaf="">。如果时间戳是 2 天前的，或者与当前服务器时间偏差超过 5 分钟，直接拒绝。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">频率限制</span></strong><span leaf="">：对同一个 Device Token（即使它是合法的）的提交频率做限制。正常的真机用户不会在 1 秒内生成 10 次 Token。</span></p></li></ul><h2><span leaf="">六、总结</span></h2><p><span leaf="">iOS DeviceCheck（及 App Attest）代表了移动安全领域的一个重要转折点：</span><strong><span leaf="">从“软件对抗”走向“硬件对抗”</span></strong><span leaf="">。</span></p><p><span leaf="">通过本次逆向分析，我们得出以下核心结论：</span></p><ol class="list-paddingleft-1" start="1"><li style="text-align:left;"><p><strong><span leaf="">硬件是信任的基石</span></strong><span leaf="">：DeviceCheck 的不可伪造性完全依赖于 Secure Enclave。私钥不出安全区，使得纯软件层面的算法还原（如 Python 脚本生成 Token）在理论上和工程上都成为不可能。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">攻防的不对称性</span></strong><span leaf="">：</span></p></li><ol class="list-paddingleft-1"><li style="text-align:left;"><p><strong><span leaf="">攻击者</span></strong><span leaf="">不得不通过昂贵的真机群控、复杂的系统级 Hook（注入 </span><code><span leaf="">devicecheckd</span></code><span leaf="">）以及硬改（更换基带/闪存芯片/激活证书）来绕过防护，成本呈指数级上升。</span></p></li><li style="text-align:left;"><p><strong><span leaf="">防守方</span></strong><span leaf="">只需在服务端接入 Apple 的验证 API，并制定合理的 2-bit 状态标记策略，即可获得一个难以被清洗的设备指纹。</span></p></li></ol><li style="text-align:left;"><p><strong><span leaf="">未来的趋势</span></strong><span leaf="">：随着 Apple 在 iOS 14+ 引入 </span><code><span leaf="">DCAppAttestService</span></code><span leaf="">，将密钥的绑定粒度从“设备”细化到了“设备 + App 实例”，并且支持对关键业务数据（Assertion）进行签名。这意味着未来的风控将更加精准，留给黑灰产“撞库”和“伪造”的空间将进一步被压缩。</span></p></li></ol><p><strong><span leaf="">对于安全从业者而言</span></strong><span leaf="">，理解 DeviceCheck 的底层逻辑，不仅有助于在红蓝对抗中制定更有效的策略，也提醒我们：在零信任架构下，基于硬件的可信证明（Hardware-backed Attestation）将是移动端身份认证的终极解决方案。</span></p><p><span leaf=""><span textstyle="" style="color: rgb(61, 167, 66);">欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)</span></span></p><p><span leaf="">参考资料：</span></p><p><span leaf=""><a href="https://bbs.kanxue.com/thread-281819.htm" target="_blank">https://bbs.kanxue.com/thread-281819.htm</a></span></p><p><span leaf=""><a href="https://iosre.com/t/%E8%BD%AC%E8%BD%BD%E6%9F%90dd%E6%9F%90%E9%9F%B3-ios-devicecheck-token-%E6%AD%A3%E5%90%91%E7%A0%94%E5%8F%91%E4%B8%8E%E9%80%86%E5%90%91%E5%88%86%E6%9E%90%E4%B9%8B%E8%B7%AF%E6%80%9D%E8%80%83/24569/1" target="_blank">https://iosre.com/t/%E8%BD%AC%E8%BD%BD%E6%9F%90dd%E6%9F%90%E9%9F%B3-ios-devicecheck-token-%E6%AD%A3%E5%90%91%E7%A0%94%E5%8F%91%E4%B8%8E%E9%80%86%E5%90%91%E5%88%86%E6%9E%90%E4%B9%8B%E8%B7%AF%E6%80%9D%E8%80%83/24569/1</a></span></p><p><span leaf="">致谢: </span><strong><span leaf="">yuzhouheike</span></strong><strong><span leaf="">  addhaloka 感谢两位大佬提供的指导与帮助</span></strong></p><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>


<p><a href="%27%27">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=2b71a584&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247484121%26idx%3D1%26sn%3D7edc9a634643c1387094163d87aace78">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 13 Jan 2026 19:00:00 +0800</pubDate>
    </item>
    <item>
      <title>汽车APP产品分析-亿盾反作弊</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247484103&amp;idx=1&amp;sn=9fd6ed1a532c8d3e7a0bcf50cc4fc970</link>
      <description>有流量的地方就有作弊，渠道可以通过批量机器或模拟器模拟下载，以及通过人工或者技术手段修改设备信息、破解反作弊SDK方式发送虚拟信息、模拟下载激活APP等等</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2023-02-11 12:30</span> <span style="display: inline-block;">北京</span>
</p>

<p>有流量的地方就有作弊，渠道可以通过批量机器或模拟器模拟下载，以及通过人工或者技术手段修改设备信息、破解反作弊SDK方式发送虚拟信息、模拟下载激活APP等等</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=7d486005&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibW7XHiae0C9kdqTkibVfXvOWckEGDM3k3Y7PWPZ9PwXQehfNDxpnQGknnuo7VibO3uw9hUzd0heS8oKA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">目录:</span></code><code><span class="code-snippet_outer">一、概述</span></code><code><span class="code-snippet_outer">1.1、风控概述</span></code><code><span class="code-snippet_outer">1.2、工作流程</span></code><code><span class="code-snippet_outer">二、整体框架</span></code><code><span class="code-snippet_outer">三、初始化逻辑</span></code><code><span class="code-snippet_outer">四、环境检测与设备指纹</span></code><code><span class="code-snippet_outer">五、算法分析</span></code><code><span class="code-snippet_outer">六、协议还原</span></code><code><span class="code-snippet_outer">七、总结</span></code></pre></section><h3 style="line-height: 28px;margin-top: 16px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);"><strong>一、概述</strong></span></h3><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>1.1、风控概述</strong></span></p><p style="min-height: 24px;"><span style="color: rgba(0, 0, 0, 0.84);">几乎所有的APP运营人员都会接触到渠道推广。这些渠道推广可能是付费渠道，可能是免费渠道，无论是哪一种渠道推广，都是需要我们付出成本的。在与渠道打交道的过程中，有时候涉及到跟渠道分成或者跟渠道合作，我们需要统计从渠道获取的用户的数量；有时候涉及到渠道付费，我们需要鉴别渠道用户的质量的好坏，控制并提高渠道的效果。</span></p><p style="min-height: 24px;"><span style="color: rgba(0, 0, 0, 0.84);">可能存在渠道都投放了，点击量也特别高，但激活量只有个位数。也有可能点击激活数量都很高，但是留存率很低。费用都花光了，但是效果没有出来。</span></p><p style="min-height: 24px;">有流量的地方就有作弊，渠道可以通过批量机器或模拟器模拟下载，以及通过人工或者技术手段修改设备信息、破解反作弊SDK方式发送虚拟信息、模拟下载激活APP等等</p><p style="min-height: 24px;">目前主流的反作弊方式为企业自研或使用第三方反作弊服务，APP端集成SDK，通过用户上网设备的硬件、网络、环境等设备特征信息生成设备指纹， 生成可抗黑产破解的设备唯一标识。作为纵深防御风控体系下的重要工具，可实现对终端设备上的风险环境识别、风险检测及行为风险分析。</p><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>1.2、工作流程</strong></span></p><p style="min-height: 24px;">设备反作弊服务时的调用过程如图1-1所示：</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.4734375" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=e2c6c263&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibW7XHiae0C9kdqTkibVfXvOWcDPReafKVM8PzBtQSUNHFTMxXiaGfQAbdOnrvqNukDsC17YRjYQGSenw%2F640%3Fwx_fmt%3Dpng"/></p><p>                                图1-1<br/></p><p style="min-height: 24px;">业务客户端需要集成反作弊客户端SDK，包括安卓，iOS，H5，小程序等；通过反作弊SDK采集的设备信息可以生成设备指纹与判断设备是否安全。</p><h3 style="line-height: 28px;margin-top: 16px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);"><strong>二、整体框架</strong></span></h3><p style="min-height: 24px;">反作弊SDK通过采集设备的硬件、网络、环境等特征信息生成设备的唯一标识，可以侦测模拟器、刷机改机、root越狱、劫持注入等风险，配合风控策略，可以对抗设备伪造改机、自动注册、渠道作弊行为。整体框架如图2-1所示：</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="2.2954091816367264" data-s="300,640" style="" data-type="jpeg" data-w="1002" src="https://wechat2rss.xlab.app/img-proxy/?k=38900f6c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibW7XHiae0C9kdqTkibVfXvOWcApBAcibzBO2TpSic3pZK2zXTlFKy5ncc4luZtSv6AHTc0w0EfJYTvIuQ%2F640%3Fwx_fmt%3Djpeg"/></p><p style="min-height: 24px;">                                图2-1<br/></p><h3 style="line-height: 28px;margin-top: 16px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);"><strong>三、初始化逻辑</strong></span></h3><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>3.1、init接口</strong></span></p><p style="min-height: 24px;">init：初始化SDK</p><p style="min-height: 24px;">getToken：调用getToken接口获取token，每次调用返回不同的token值。一般由用户操作（提交等）来触发getToken，一个token只能使用一次，如果在同一个页面中，允许用户多次操作，请多次调用getToken接口以获取不同的token；提交token：将token作为请求参数提交到业务方后端。</p><p style="min-height: 24px;"><strong><span style="color: rgb(61, 167, 66);">3.2、静态与动态</span></strong></p><p style="min-height: 24px;">采集设备信息分为静态与动态分别上报。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="kotlin"><code><span class="code-snippet_outer">private a c(String arg7) {</span></code><code><span class="code-snippet_outer">    JSONObject v7;</span></code><code><span class="code-snippet_outer">String v0 = &#34;&#34;;</span></code><code><span class="code-snippet_outer">int v1 = 0;</span></code><code><span class="code-snippet_outer">try {</span></code><code><span class="code-snippet_outer">    String v2 = this.a_deviceinfo(arg7);</span></code><code><span class="code-snippet_outer">    if(v2 != null) {</span></code><code><span class="code-snippet_outer">        if(v2.isEmpty()) {</span></code><code><span class="code-snippet_outer">            return null;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        String v3 = this.d ? com.netease.mobsec.e.e.a() + &#34;/v2/m/b&#34; : f.u.k();</span></code><code><span class="code-snippet_outer">        if(v3.isEmpty()) {</span></code><code><span class="code-snippet_outer">            v3 = &#34;<a href="https://ac.dun.163yun.com/v2/m/b" target="_blank">https://ac.dun.163yun.com/v2/m/b</a>&#34;;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        JSONObject v2_1 = com.netease.mobsec.e.e.a(v3, v2, this.e);</span></code><code><span class="code-snippet_outer">        if(v2_1 == null) {</span></code><code><span class="code-snippet_outer">            v7 = com.netease.mobsec.e.e.a(v3, this.a_deviceinfo(arg7), this.e);</span></code><code><span class="code-snippet_outer">            if(v7 == null) {</span></code><code><span class="code-snippet_outer">                return new a(v1, v0);</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        else {</span></code><code><span class="code-snippet_outer">            v1 = f.u.b_parsejson(v2_1);</span></code><code><span class="code-snippet_outer">            v0 = v2_1.optString(&#34;msg&#34;);</span></code><code><span class="code-snippet_outer">            if(v1 != 420) {</span></code><code><span class="code-snippet_outer">                return new a(v1, v0);</span></code><code><span class="code-snippet_outer">            }</span></code></pre></section><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="kotlin"><code><span class="code-snippet_outer">private int a() {</span></code><code><span class="code-snippet_outer">    try {</span></code><code><span class="code-snippet_outer">        String v2 = this.b_deviceinfo(&#34;&#34;);</span></code><code><span class="code-snippet_outer">        if(TextUtils.isEmpty(v2)) {</span></code><code><span class="code-snippet_outer">            return 0;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        String v3 = this.d ? com.netease.mobsec.e.e.a() + &#34;/v2/m/d&#34; : f.u.m();</span></code><code><span class="code-snippet_outer">        if(v3.isEmpty()) {</span></code><code><span class="code-snippet_outer">            v3 = &#34;<a href="https://ac.dun.163yun.com/v2/m/d" target="_blank">https://ac.dun.163yun.com/v2/m/d</a>&#34;;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        int v4 = 3000;</span></code><code><span class="code-snippet_outer">        JSONObject v2_1 = com.netease.mobsec.e.e.a(v3, v2, 3000);</span></code><code><span class="code-snippet_outer">        if(this.e != 0) {</span></code><code><span class="code-snippet_outer">            v4 = this.e;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        if(v2_1 == null) {</span></code><code><span class="code-snippet_outer">            String v0_2 = this.b_deviceinfo(&#34;&#34;);</span></code><code><span class="code-snippet_outer">            if(v0_2 == null) {</span></code><code><span class="code-snippet_outer">                return 0;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            JSONObject v0_3 = com.netease.mobsec.e.e.a(v3, v0_2, v4);</span></code><code><span class="code-snippet_outer">            if(v0_3 != null) {</span></code><code><span class="code-snippet_outer">                int v0_4 = f.u.b_parsejson(v0_3);</span></code><code><span class="code-snippet_outer">                if(v0_4 == 200) {</span></code><code><span class="code-snippet_outer">                    this.b();</span></code><code><span class="code-snippet_outer">                    return v0_4;</span></code><code><span class="code-snippet_outer">                }</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        else {</span></code><code><span class="code-snippet_outer">            int v2_2 = f.u.b_parsejson(v2_1);</span></code></pre></section><p style="min-height: 24px;"><strong><span style="color: rgb(61, 167, 66);">3.3、注册native方法</span></strong></p><p style="min-height: 24px;">so层字符串xor加密</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:000000775DC53154 0C 7D C9 9B             UMULH           X12, X8, X9</span></code><code><span class="code-snippet_outer">.text:000000775DC53158 0E 01 0C CB             SUB             X14, X8, X12</span></code><code><span class="code-snippet_outer">.text:000000775DC5315C 8C 05 4E 8B             ADD             X12, X12, X14,LSR#1</span></code><code><span class="code-snippet_outer">.text:000000775DC53160 8C FD 44 D3             LSR             X12, X12, #4</span></code><code><span class="code-snippet_outer">.text:000000775DC53164 8C 5D 0A 9B             MADD            X12, X12, X10, X23</span></code><code><span class="code-snippet_outer">.text:000000775DC53168 ED 02 08 8B             ADD             X13, X23, X8</span></code><code><span class="code-snippet_outer">.text:000000775DC5316C 8C 01 08 8B             ADD             X12, X12, X8</span></code><code><span class="code-snippet_outer">.text:000000775DC53170 AD 99 40 39             LDRB            W13, [X13,#0x26]</span></code><code><span class="code-snippet_outer">.text:000000775DC53174 8C 45 40 39             LDRB            W12, [X12,#0x11]</span></code><code><span class="code-snippet_outer">.text:000000775DC53178 8C 01 0D 4A             EOR             W12, W12, W13</span></code><code><span class="code-snippet_outer">.text:000000775DC5317C 6C 69 28 38             STRB            W12, [X11,X8]</span></code><code><span class="code-snippet_outer">.text:000000775DC53180 08 05 00 91             ADD             X8, X8, #1    ; com/netease/mobsec/factory/JNIFactor</span></code><code><span class="code-snippet_outer">.text:000000775DC53184 1F 95 00 F1             CMP             X8, #0x25 ; &#39;%&#39;</span></code><code><span class="code-snippet_outer"> .text:000000775DC53188 61 FE FF 54             B.NE            DecString_loc_7C91120154</span></code></pre></section><p style="min-height: 24px;">反调试检测TracerPid:</p><p style="min-height: 24px;">RegisterNatives 注册native方法</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:000000775DC551D4 68 02 40 F9             LDR             X8, [X19]</span></code><code><span class="code-snippet_outer">.text:000000775DC551D8 E9 07 00 32             MOV             W9, #3</span></code><code><span class="code-snippet_outer">.text:000000775DC551DC 23 01 15 4B             SUB             W3, W9, W21</span></code><code><span class="code-snippet_outer">.text:000000775DC551E0 08 5D 43 F9             LDR             X8, [X8,#0x6B8]</span></code><code><span class="code-snippet_outer">.text:000000775DC551E4                         ;   try {</span></code><code><span class="code-snippet_outer">.text:000000775DC551E4 E2 07 00 90 42 60 19 91 ADRL            X2, qword_775DD51658</span></code><code><span class="code-snippet_outer">.text:000000775DC551EC E0 03 13 AA             MOV             X0, X19</span></code><code><span class="code-snippet_outer">.text:000000775DC551F0 E1 03 14 AA             MOV             X1, X20</span></code><code><span class="code-snippet_outer">.text:000000775DC551F4 00 01 3F D6             BLR             X8            ; RegisterNatives</span></code><code><span class="code-snippet_outer">.text:000000775DC551F4                         ;   } // starts at 775DC551E4</span></code><code><span class="code-snippet_outer">.text:000000775DC551F4</span></code><code><span class="code-snippet_outer">.text:000000775DC551F8 F3 03 00 2A             MOV             W19, W0</span></code><code><span class="code-snippet_outer">注册方法</span></code><code><span class="code-snippet_outer">w238jfd9349jdj394</span></code><code><span class="code-snippet_outer">w230921e1b36f7799</span></code></pre></section><h3 style="line-height: 28px;margin-top: 16px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);"><strong>四、环境检测与设备指纹</strong></span></h3><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>4.1、设备采集</strong></span></p><p style="min-height: 24px;">获取MAC</p><p style="min-height: 24px;">重要的设备信息通过SVC 0 方式与system_property获取:</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">wifi.interface</span></code><code><span class="code-snippet_outer">_system_property_find</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF74</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF74                         system_property_find_sub_6F738E0F74</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF74</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF74                         s= -0x78</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74                         var_68= -0x68</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74                         var_58= -0x58</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74                         var_48= -0x48</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74                         var_38= -0x38</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74                         var_28= -0x28</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74                         var_20= -0x20</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74                         var_18= -0x18</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74                         var_10= -0x10</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74                         var_s0=  0</span></code><code><span class="code-snippet_outer">    .text:0000006C146ADF74</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF74                         ; __unwind { // __gxx_personality_v0</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF74 FF 43 02 D1             SUB             SP, SP, #0x90</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF78 F4 4F 07 A9             STP             X20, X19, [SP,#0x80+var_10]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF7C FD 7B 08 A9             STP             X29, X30, [SP,#0x80+var_s0]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF80 FD 03 02 91             ADD             X29, SP, #0x80</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF84 54 D0 3B D5             MRS             X20, #3, c13, c0, #2</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF88 89 16 40 F9             LDR             X9, [X20,#0x28]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF8C F3 03 08 AA             MOV             X19, X8</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF90 A9 83 1E F8             STUR            X9, [X29,#var_18]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF94 21 00 40 F9             LDR             X1, [X1]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF98 29 80 5E F8             LDUR            X9, [X1,#-0x18]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF9C 89 02 00 B4             CBZ             X9, loc_6C146ADFEC</span></code><code><span class="code-snippet_outer">.text:0000006C146ADF9C</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFA0 00 E4 00 6F             MOVI            V0.2D, #0</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFA4 FF 63 00 B9             STR             WZR, [SP,#0x80+var_20]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFA8 FF 2F 00 F9             STR             XZR, [SP,#0x80+var_28]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFAC E0 83 84 3C             STUR            Q0, [SP,#0x80+var_38]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFB0 E0 83 83 3C             STUR            Q0, [SP,#0x80+var_48]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFB4 E0 83 82 3C             STUR            Q0, [SP,#0x80+var_58]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFB8 E0 83 81 3C             STUR            Q0, [SP,#0x80+var_68]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFBC E0 83 80 3C             STUR            Q0, [SP,#0x80+s]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFC0 08 00 40 F9             LDR             X8, [X0]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFC4 E2 23 00 91             ADD             X2, SP, #0x80+s</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFC8 08 29 40 F9             LDR             X8, [X8,#0x50]</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFCC 00 01 3F D6             BLR             X8            ; _system_property_find</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFCC</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFD0 1F 04 00 71             CMP             W0, #1</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFD4 8B 01 00 54             B.LT            loc_6C146AE004</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFD4</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFD8                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFD8 E1 23 00 91             ADD             X1, SP, #0x80+s ; s</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFDC E2 03 00 91             MOV             X2, SP</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFE0 E0 03 13 AA             MOV             X0, X19       ; int</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFE4 4C D5 00 94             BL              strlen_new_sub_77982AB514</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFE4                         ;   } // starts at 6C146ADFD8</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFE4</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFE8 0C 00 00 14             B               loc_6C146AE018</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFE8</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFEC</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFEC                         loc_6C146ADFEC</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFEC                         ;   try {                     ; s</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFEC 81 02 00 90 21 0C 13 91 ADRL            X1, (aBasicStringAtN+0x43)</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFF4 E2 23 00 91             ADD             X2, SP, #0x80+s</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFF8 E0 03 13 AA             MOV             X0, X19       ; int</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFFC 46 D5 00 94             BL              strlen_new_sub_77982AB514</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFFC                         ;   } // starts at 6C146ADFEC</span></code><code><span class="code-snippet_outer">.text:0000006C146ADFFC</span></code><code><span class="code-snippet_outer">.text:0000006C146AE000 06 00 00 14             B               loc_6C146AE018</span></code><code><span class="code-snippet_outer">.text:0000006C146AE000</span></code><code><span class="code-snippet_outer">.text:0000006C146AE004</span></code><code><span class="code-snippet_outer">.text:0000006C146AE004                         loc_6C146AE004 </span></code><code><span class="code-snippet_outer">.text:0000006C146AE004                         ;   try {                     ; s</span></code><code><span class="code-snippet_outer">.text:0000006C146AE004 61 02 00 F0 21 0C 13 91 ADRL            X1, (aBasicStringAtN+0x43)</span></code><code><span class="code-snippet_outer">.text:0000006C146AE00C E2 03 00 91             MOV             X2, SP</span></code><code><span class="code-snippet_outer">.text:0000006C146AE010 E0 03 13 AA             MOV             X0, X19       ; int</span></code><code><span class="code-snippet_outer">.text:0000006C146AE014 40 D5 00 94             BL              strlen_new_sub_77982AB514</span></code><code><span class="code-snippet_outer">.text:0000006C146AE014                         ;   } // starts at 6C146AE004</span></code><code><span class="code-snippet_outer">.text:0000006C146AE014</span></code><code><span class="code-snippet_outer">.text:0000006C146AE018</span></code><code><span class="code-snippet_outer">.text:0000006C146AE018                         loc_6C146AE018 </span></code><code><span class="code-snippet_outer">.text:0000006C146AE018 88 16 40 F9             LDR             X8, [X20,#0x28]</span></code><code><span class="code-snippet_outer">.text:0000006C146AE01C A9 83 5E F8             LDUR            X9, [X29,#var_18]</span></code><code><span class="code-snippet_outer">.text:0000006C146AE020 1F 01 09 EB             CMP             X8, X9</span></code><code><span class="code-snippet_outer">.text:0000006C146AE024 A1 00 00 54             B.NE            loc_6C146AE038</span></code><code><span class="code-snippet_outer">.text:0000006C146AE024</span></code><code><span class="code-snippet_outer">.text:0000006C146AE028 FD 7B 48 A9             LDP             X29, X30, [SP,#0x80+var_s0]</span></code><code><span class="code-snippet_outer">.text:0000006C146AE02C F4 4F 47 A9             LDP             X20, X19, [SP,#0x80+var_10]</span></code><code><span class="code-snippet_outer">.text:0000006C146AE030 FF 43 02 91             ADD             SP, SP, #0x90</span></code><code><span class="code-snippet_outer">.text:0000006C146AE034 C0 03 5F D6             RET</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">/proc/net/arp</span></code><code><span class="code-snippet_outer">/etc/wifi/wpa_supplicant.conf</span></code><code><span class="code-snippet_outer">.text:0000006C1462CE70                         svc_openat_sub_6F7385FE70</span></code><code><span class="code-snippet_outer">.text:0000006C1462CE70 08 07 80 D2             MOV             X8, #0x38 ; &#39;8&#39;</span></code><code><span class="code-snippet_outer">.text:0000006C1462CE74 01 00 00 D4             SVC             0</span></code><code><span class="code-snippet_outer">.text:0000006C1462CE78 1F 04 40 B1             CMN             X0, #1,LSL#12</span></code><code><span class="code-snippet_outer">.text:0000006C1462CE7C 00 94 80 DA             CNEG            X0, X0, HI</span></code><code><span class="code-snippet_outer">.text:0000006C1462CE80 88 2C 2F 54             B.HI            sub_6C1468B410</span></code><code><span class="code-snippet_outer">.text:0000006C1462CE80</span></code></pre></section><p style="min-height: 24px;">其它设备信息主要通过反射获取。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:0000006C1469FDA4 FF 43 02 D1             SUB             SP, SP, #0x90</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDA8 FC 6F 03 A9             STP             X28, X27, [SP,#0xF0+var_C0]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDAC FA 67 04 A9             STP             X26, X25, [SP,#0xF0+var_B0]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDB0 F8 5F 05 A9             STP             X24, X23, [SP,#0xF0+var_A0]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDB4 F6 57 06 A9             STP             X22, X21, [SP,#0xF0+var_90]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDB8 F4 4F 07 A9             STP             X20, X19, [SP,#0xF0+var_80]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDBC FD 7B 08 A9             STP             X29, X30, [SP,#0xF0+var_70]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDC0 FD 03 02 91             ADD             X29, SP, #0x80</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDC4 5C D0 3B D5             MRS             X28, #3, c13, c0, #2</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDC8 F3 03 08 AA             MOV             X19, X8</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDCC 88 17 40 F9             LDR             X8, [X28,#0x28]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDD0 F4 03 00 AA             MOV             X20, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDD4 E8 17 00 F9             STR             X8, [SP,#0xF0+var_C8]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDD8                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDD8 E1 02 00 D0 21 0C 13 91 ADRL            X1, (aBasicStringAtN+0x43) ; s</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDE0 E2 43 00 91             ADD             X2, SP, #0xF0+var_E0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDE4 E0 03 13 AA             MOV             X0, X19       ; int</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDE8 CB 0D 01 94             BL              strlen_new_sub_77982AB514</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDE8                         ;   } // starts at 6C1469FDD8</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDE8</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDEC 69 23 8C D2 29 F7 B4 F2+MOV             X9, #0x9611A7B9611B</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDEC 29 C2 D2 F2</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDF8 5A 03 00 D0             ADRP            X26, #unk_6C14709C00@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FDFC 8B 05 00 F0             ADRP            X11, #aAndroidPermiss_1@PAGE ; &#34;android.permission.ACCESS_WIFI_STATE&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FE00 E8 03 1F AA             MOV             X8, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE04 69 4F E3 F2             MOVK            X9, #0x1A7B,LSL#48</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE08 EA F3 7B B2             MOV             X10, #0xFFFFFFFFFFFFFFE3</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE0C 5A 03 30 91             ADD             X26, X26, #unk_6C14709C00@PAGEOFF</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE10 6B E1 3F 91             ADD             X11, X11, #aAndroidPermiss_1@PAGEOFF ; &#34;android.permission.ACCESS_WIFI_STATE&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FE10</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE14</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE14                         loc_6C1469FE14                ; CODE XREF: getSimCountryIso_sub_6F738D2910+538↓j</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE14 0C 7D C9 9B             UMULH           X12, X8, X9</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE18 0E 01 0C CB             SUB             X14, X8, X12</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE1C 8C 05 4E 8B             ADD             X12, X12, X14,LSR#1</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE20 8C FD 44 D3             LSR             X12, X12, #4</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE24 8C 69 0A 9B             MADD            X12, X12, X10, X26</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE28 4D 03 08 8B             ADD             X13, X26, X8</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE2C 8C 01 08 8B             ADD             X12, X12, X8</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE30 AD 01 4B 39             LDRB            W13, [X13,#0x2C0]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE34 8C 8D 4A 39             LDRB            W12, [X12,#0x2A3]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE38 8C 01 0D 4A             EOR             W12, W12, W13</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE3C 6C 69 28 38             STRB            W12, [X11,X8]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE40 08 05 00 91             ADD             X8, X8, #1    ; android.permission.ACCESS_WIFI_STATE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE44 1F 95 00 F1             CMP             X8, #0x25 ; &#39;%&#39;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FE48 61 FE FF 54             B.NE            loc_6C1469FE14</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE48</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE4C                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE4C 81 05 00 F0 21 E0 3F 91 ADRL            X1, aAndroidPermiss_1 ; s</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE54 E0 63 00 91             ADD             X0, SP, #0xF0+var_D8 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE58 E2 83 00 91             ADD             X2, SP, #0xF0+var_D0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE5C AE 0D 01 94             BL              strlen_new_sub_77982AB514</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE5C                         ;   } // starts at 6C1469FE4C</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE5C</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE60 88 02 40 F9             LDR             X8, [X20]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE64 08 5D 40 F9             LDR             X8, [X8,#0xB8]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE68                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE68 E1 63 00 91             ADD             X1, SP, #0xF0+var_D8</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE6C E0 03 14 AA             MOV             X0, X20</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE70 00 01 3F D6             BLR             X8            ; checkCallingOrSelfPermission判断是否有权限</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE70                         ;   } // starts at 6C1469FE68</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE70</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE74 E8 0F 40 F9             LDR             X8, [SP,#0xF0+var_D8]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE78 7B 05 00 D0             ADRP            X27, #off_6C1474DF48@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE7C 7B A7 47 F9             LDR             X27, [X27,#off_6C1474DF48@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE80 F5 03 00 2A             MOV             W21, W0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE84 00 61 00 D1             SUB             X0, X8, #0x18 ; ptr</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE88 1F 00 1B EB             CMP             X0, X27</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE8C C1 22 00 54             B.NE            loc_6C146A02E4</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE8C</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE90</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE90                         loc_6C1469FE90                ; CODE XREF: getSimCountryIso_sub_6F738D2910+A08↓j</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE90 35 21 00 36             TBZ             W21, #0, loc_6C146A02B4</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE90</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE94</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE94                         loc_6C1469FE94                ; CODE XREF: getSimCountryIso_sub_6F738D2910+A14↓j</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE94 48 03 00 D0             ADRP            X8, #xmmword_6C147092E0@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE98 49 03 00 D0             ADRP            X9, #qword_6C147096D8@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FE9C 00 B9 C0 3D             LDR             Q0, [X8,#xmmword_6C147092E0@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEA0 21 6D 43 FD             LDR             D1, [X9,#qword_6C147096D8@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEA4 80 0A 40 F9             LDR             X0, [X20,#0x10]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEA8 A1 05 00 90 21 80 00 91 ADRL            X1, aAndroidContent_0 ; &#34;android/content/Context&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FEB0 20 00 80 3D             STR             Q0, [X1]      ; &#34;android/content/Context&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FEB4 21 08 00 FD             STR             D1, [X1,#(aAndroidContent_0+0x10 - 0x6C14753020)] ; &#34;Context&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FEB8 08 00 40 F9             LDR             X8, [X0]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEBC 08 19 40 F9             LDR             X8, [X8,#0x30]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEC0                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEC0 00 01 3F D6             BLR             X8            ; FindClass</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEC0                         ;   } // starts at 6C1469FEC0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEC0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEC4 F5 03 00 AA             MOV             X21, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEC8 60 1F 00 B4             CBZ             X0, loc_6C146A02B4</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEC8</span></code><code><span class="code-snippet_outer">.text:0000006C1469FECC 49 03 00 D0             ADRP            X9, #xmmword_6C147092F0@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FED0 20 BD C0 3D             LDR             Q0, [X9,#xmmword_6C147092F0@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FED4 80 0A 40 F9             LDR             X0, [X20,#0x10]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FED8 AB 05 00 90             ADRP            X11, #aGetsystemservi@PAGE ; &#34;getSystemService&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FEDC A9 D8 89 D2             MOV             X9, #0x4EC5</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEE0 6B 01 01 91             ADD             X11, X11, #aGetsystemservi@PAGEOFF ; &#34;getSystemService&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FEE4 89 9D B8 F2             MOVK            X9, #0xC4EC,LSL#16</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEE8 C9 89 DD F2             MOVK            X9, #0xEC4E,LSL#32</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEEC 7F 41 00 39             STRB            WZR, [X11,#(aGetsystemservi+0x10 - 0x6C14753040)] ; &#34;&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FEF0 60 01 80 3D             STR             Q0, [X11]     ; &#34;getSystemService&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FEF4 AB 05 00 90             ADRP            X11, #aLjavaLangStrin_1@PAGE ; &#34;(Ljava/lang/String;)Ljava/lang/Object;&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FEF8 E8 03 1F AA             MOV             X8, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C1469FEFC 89 D8 E9 F2             MOVK            X9, #0x4EC4,LSL#48</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF00 2A 03 80 92             MOV             X10, #0xFFFFFFFFFFFFFFE6</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF04 6B 45 01 91             ADD             X11, X11, #aLjavaLangStrin_1@PAGEOFF ; &#34;(Ljava/lang/String;)Ljava/lang/Object;&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FF04</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF08</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF08                         loc_6C1469FF08                ; CODE XREF: getSimCountryIso_sub_6F738D2910+624↓j</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF08 0C 7D C9 9B             UMULH           X12, X8, X9</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF0C 8C FD 43 D3             LSR             X12, X12, #3</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF10 8C 69 0A 9B             MADD            X12, X12, X10, X26</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF14 4D 03 08 8B             ADD             X13, X26, X8</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF18 8C 01 08 8B             ADD             X12, X12, X8</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF1C AD 3D 4E 39             LDRB            W13, [X13,#0x38F]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF20 8C D5 4D 39             LDRB            W12, [X12,#0x375]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF24 8C 01 0D 4A             EOR             W12, W12, W13</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF28 6C 69 28 38             STRB            W12, [X11,X8] ; (Ljava/lang/String;)Ljava/lang/Object;</span></code><code><span class="code-snippet_outer">  .text:0000006C1469FF2C 08 05 00 91             ADD             X8, X8, #1</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF30 1F 9D 00 F1             CMP             X8, #0x27 ; &#39;&#39;&#39;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FF34 A1 FE FF 54             B.NE            loc_6C1469FF08</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF34</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF38 08 00 40 F9             LDR             X8, [X0]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF3C 08 85 40 F9             LDR             X8, [X8,#0x108]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF40                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF40 A2 05 00 90             ADRP            X2, #aGetsystemservi@PAGE ; &#34;getSystemService&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF44 A3 05 00 90             ADRP            X3, #aLjavaLangStrin_1@PAGE ; &#34;(Ljava/lang/String;)Ljava/lang/Object;&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF48 42 00 01 91             ADD             X2, X2, #aGetsystemservi@PAGEOFF ; &#34;getSystemService&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF4C 63 44 01 91             ADD             X3, X3, #aLjavaLangStrin_1@PAGEOFF ; &#34;(Ljava/lang/String;)Ljava/lang/Object;&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF50 E1 03 15 AA             MOV             X1, X21</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF54 00 01 3F D6             BLR             X8            ; GetMethodID</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF54                         ;   } // starts at 6C1469FF40</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF54</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF58 F7 03 00 AA             MOV             X23, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF5C 20 1A 00 B4             CBZ             X0, loc_6C146A02A0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF5C</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF60 48 03 00 D0             ADRP            X8, #qword_6C147096E0@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF64 00 71 43 FD             LDR             D0, [X8,#qword_6C147096E0@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF68 A2 05 00 90 42 E0 01 91 ADRL            X2, aWifiService ; &#34;WIFI_SERVICE&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FF70 48 03 00 D0             ADRP            X8, #xmmword_6C14709300@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF74 80 0A 40 F9             LDR             X0, [X20,#0x10]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF78 40 00 00 FD             STR             D0, [X2]      ; &#34;WIFI_SERVICE&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FF7C 00 C1 C0 3D             LDR             Q0, [X8,#xmmword_6C14709300@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF80 C9 2A 89 52             MOV             W9, #0x4956</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF84 A3 05 00 90             ADRP            X3, #xmmword_6C14753090@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF88 69 A8 A8 72             MOVK            W9, #0x4543,LSL#16</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF8C 63 40 02 91             ADD             X3, X3, #xmmword_6C14753090@PAGEOFF</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF90 E8 6C 87 52             MOV             W8, #0x3B67</span></code><code><span class="code-snippet_outer">.text:0000006C1469FF94 49 08 00 B9             STR             W9, [X2,#(aWifiService+8 - 0x6C14753078)] ; &#34;VICE&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FF98 5F 30 00 39             STRB            WZR, [X2,#(aWifiService+0xC - 0x6C14753078)] ; &#34;&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C1469FF9C 68 20 00 79             STRH            W8, [X3,#(word_6C147530A0 - 0x6C14753090)]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFA0 60 00 80 3D             STR             Q0, [X3]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFA4 7F 48 00 39             STRB            WZR, [X3,#(byte_6C147530A2 - 0x6C14753090)]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFA8 08 00 40 F9             LDR             X8, [X0]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFAC 08 41 42 F9             LDR             X8, [X8,#0x480]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFB0                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFB0 E1 03 15 AA             MOV             X1, X21       ; WIFI_SERVICE</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFB4 00 01 3F D6             BLR             X8            ; GetStaticFieldID</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFB4                         ;   } // starts at 6C1469FFB0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFB4</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFB8 E2 03 00 AA             MOV             X2, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFBC 20 17 00 B4             CBZ             X0, loc_6C146A02A0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFBC</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFC0 80 0A 40 F9             LDR             X0, [X20,#0x10]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFC4 08 00 40 F9             LDR             X8, [X0]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFC8 08 45 42 F9             LDR             X8, [X8,#0x488]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFCC                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFCC E1 03 15 AA             MOV             X1, X21</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFD0 00 01 3F D6             BLR             X8            ; GetStaticObjectField</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFD0                         ;   } // starts at 6C1469FFCC</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFD0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFD4 F6 03 00 AA             MOV             X22, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFD8 81 82 40 A9             LDP             X1, X0, [X20,#8]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFDC                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFDC E2 03 17 AA             MOV             X2, X23</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFE0 E3 03 16 AA             MOV             X3, X22</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFE4 D8 B7 FF 97             BL              CallObjectMethodV_sub_6F6549FF44</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFE4                         ;   } // starts at 6C1469FFDC</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFE4</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFE8 F7 03 00 AA             MOV             X23, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFEC 00 15 00 B4             CBZ             X0, loc_6C146A028C</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFEC</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFF0 80 0A 40 F9             LDR             X0, [X20,#0x10]</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFF4 E9 71 9C D2 09 C7 B1 F2+MOV             X9, #0x38E38E38E38F</span></code><code><span class="code-snippet_outer">.text:0000006C1469FFF4 69 1C C7 F2</span></code><code><span class="code-snippet_outer">.text:0000006C146A0000 8B 05 00 F0             ADRP            X11, #aAndroidNetWifi@PAGE ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C146A0004 E8 03 1F AA             MOV             X8, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C146A0008 C9 71 FC F2             MOVK            X9, #0xE38E,LSL#48</span></code><code><span class="code-snippet_outer">.text:0000006C146A000C 2A 02 80 92             MOV             X10, #0xFFFFFFFFFFFFFFEE</span></code><code><span class="code-snippet_outer">.text:0000006C146A0010 6B 8D 02 91             ADD             X11, X11, #aAndroidNetWifi@PAGEOFF ; &#34;&#34;</span></code></pre></section><p style="min-height: 24px;"><br/></p><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>4.2、环境风险检测</strong></span></p><p style="min-height: 24px;">检测xposed，查找进程模块。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:0000006C134C64A8 E8 1F 40 F9             LDR             X8, [SP,#0x2D0+var_298]</span></code><code><span class="code-snippet_outer">.text:0000006C134C64AC C9 05 00 B0             ADRP            X9, #xmmword_6C1357F370@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C134C64B0 20 DD C0 3D             LDR             Q0, [X9,#xmmword_6C1357F370@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C134C64B4 40 08 00 90             ADRP            X0, #aProcSelfMaps@PAGE ; &#34;/proc/self/maps&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C64B8 08 0D 40 F9             LDR             X8, [X8,#0x18]</span></code><code><span class="code-snippet_outer">.text:0000006C134C64BC 41 08 00 90             ADRP            X1, #word_6C135CE400@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C134C64C0 00 C0 0F 91             ADD             X0, X0, #aProcSelfMaps@PAGEOFF ; &#34;/proc/self/maps&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C64C4 21 00 10 91             ADD             X1, X1, #word_6C135CE400@PAGEOFF</span></code><code><span class="code-snippet_outer">.text:0000006C134C64C8 08 1D 40 F9             LDR             X8, [X8,#0x38]</span></code><code><span class="code-snippet_outer">.text:0000006C134C64CC 49 0E 80 52             MOV             W9, #0x72 ; &#39;r&#39;</span></code><code><span class="code-snippet_outer">.text:0000006C134C64D0 00 00 80 3D             STR             Q0, [X0]      ; &#34;/proc/self/maps&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C64D4 29 00 00 79             STRH            W9, [X1]      ; /proc/self/maps</span></code><code><span class="code-snippet_outer">.text:0000006C134C64D8 00 01 3F D6             BLR             X8            ; fopen</span></code><code><span class="code-snippet_outer">.text:0000006C134C64D8</span></code><code><span class="code-snippet_outer">.text:0000006C134C64DC E0 20 00 B4             CBZ             X0, loc_6C134C68F8</span></code><code><span class="code-snippet_outer">.text:0000006C134C6594 E8 1F 40 F9             LDR             X8, [SP,#0x2D0+var_298]</span></code><code><span class="code-snippet_outer">.text:0000006C134C6598 08 0D 40 F9             LDR             X8, [X8,#0x18]</span></code><code><span class="code-snippet_outer">.text:0000006C134C659C 08 21 40 F9             LDR             X8, [X8,#0x40]</span></code><code><span class="code-snippet_outer">.text:0000006C134C65A0                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C134C65A0 E0 83 01 91             ADD             X0, SP, #0x2D0+s</span></code><code><span class="code-snippet_outer">.text:0000006C134C65A4 E1 03 17 32             MOV             W1, #0x200</span></code><code><span class="code-snippet_outer">.text:0000006C134C65A8 E2 03 16 AA             MOV             X2, X22</span></code><code><span class="code-snippet_outer">.text:0000006C134C65AC 00 01 3F D6             BLR             X8            ; fgets</span></code><code><span class="code-snippet_outer">.text:0000006C134C65AC</span></code><code><span class="code-snippet_outer">.text:0000006C134C65B0 80 1A 00 B4             CBZ             X0, loc_6C134C6900</span></code><code><span class="code-snippet_outer">.text:0000006C134C65B0</span></code><code><span class="code-snippet_outer">.text:0000006C134C65B4 E0 83 01 91             ADD             X0, SP, #0x2D0+s ; s</span></code><code><span class="code-snippet_outer">.text:0000006C134C65B8 36 43 FF 97             BL              .strlen</span></code><code><span class="code-snippet_outer">.text:0000006C134C65D0                         DecString_loc_6C134C65D0      ; CODE XREF: check_xposed_sub_6F7387B450+1AC↓j</span></code><code><span class="code-snippet_outer">.text:0000006C134C65D0 09 7D D4 9B             UMULH           X9, X8, X20</span></code><code><span class="code-snippet_outer">.text:0000006C134C65D4 29 FD 44 D3             LSR             X9, X9, #4</span></code><code><span class="code-snippet_outer">.text:0000006C134C65D8 29 71 13 9B             MADD            X9, X9, X19, X28</span></code><code><span class="code-snippet_outer">.text:0000006C134C65DC 8A 03 08 8B             ADD             X10, X28, X8</span></code><code><span class="code-snippet_outer">.text:0000006C134C65E0 29 01 08 8B             ADD             X9, X9, X8</span></code><code><span class="code-snippet_outer">.text:0000006C134C65E4 4A 81 42 39             LDRB            W10, [X10,#0xA0]</span></code><code><span class="code-snippet_outer">.text:0000006C134C65E8 29 31 42 39             LDRB            W9, [X9,#0x8C]</span></code><code><span class="code-snippet_outer">.text:0000006C134C65EC 29 01 0A 4A             EOR             W9, W9, W10</span></code><code><span class="code-snippet_outer">.text:0000006C134C65F0 E9 6A 28 38             STRB            W9, [X23,X8]</span></code><code><span class="code-snippet_outer">.text:0000006C134C65F4 08 05 00 91             ADD             X8, X8, #1</span></code><code><span class="code-snippet_outer">.text:0000006C134C65F8 1F 5D 00 F1             CMP             X8, #0x17     ; de.robv.android.xposed</span></code><code><span class="code-snippet_outer">.text:0000006C134C65FC A1 FE FF 54             B.NE            DecString_loc_6C134C65D0</span></code><code><span class="code-snippet_outer">.text:0000006C134C65FC</span></code><code><span class="code-snippet_outer">.text:0000006C134C6600 E0 03 17 AA             MOV             X0, X23       ; s</span></code><code><span class="code-snippet_outer">.text:0000006C134C6604 23 43 FF 97             BL              .strlen</span></code><code><span class="code-snippet_outer">.text:0000006C134C6604</span></code><code><span class="code-snippet_outer">.text:0000006C134C6608 E3 03 00 AA             MOV             X3, X0</span></code><code><span class="code-snippet_outer">.text:0000006C134C660C E0 43 01 91             ADD             X0, SP, #0x2D0+var_280 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C134C6610 E1 03 17 AA             MOV             X1, X23       ; void *</span></code><code><span class="code-snippet_outer">.text:0000006C134C6614 E2 03 1F AA             MOV             X2, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C134C6618 F6 6D 02 94             BL              memcmp_sub_779C063DF0 ; de.robv.android.xposed</span></code><code><span class="code-snippet_outer">.text:0000006C134C6618</span></code><code><span class="code-snippet_outer">.text:0000006C134C661C 1F 04 00 B1             CMN             X0, #1</span></code><code><span class="code-snippet_outer">.text:0000006C134C6620 01 12 00 54             B.NE            loc_6C134C6860</span></code><code><span class="code-snippet_outer">.text:0000006C134C6620</span></code><code><span class="code-snippet_outer">.text:0000006C134C6624 E0 0B C0 3D             LDR             Q0, [SP,#0x2D0+var_2B0]</span></code><code><span class="code-snippet_outer">.text:0000006C134C6628 E8 0D 80 52             MOV             W8, #0x6F ; &#39;o&#39;</span></code><code><span class="code-snippet_outer">.text:0000006C134C662C E0 03 18 AA             MOV             X0, X24       ; s</span></code><code><span class="code-snippet_outer">.text:0000006C134C6630 08 23 00 79             STRH            W8, [X24,#(aLibxposedArtSo+0x10 - 0x6C135CE420)] ; &#34;o&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C6634 00 03 80 3D             STR             Q0, [X24]     ; &#34;/libxposed_art.so&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C6638 16 43 FF 97             BL              .strlen</span></code><code><span class="code-snippet_outer">.text:0000006C134C6638</span></code><code><span class="code-snippet_outer">.text:0000006C134C663C E3 03 00 AA             MOV             X3, X0</span></code><code><span class="code-snippet_outer">.text:0000006C134C6640 E0 43 01 91             ADD             X0, SP, #0x2D0+var_280 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C134C6644 E1 03 18 AA             MOV             X1, X24       ; void *</span></code><code><span class="code-snippet_outer">.text:0000006C134C6648 E2 03 1F AA             MOV             X2, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C134C664C E9 6D 02 94             BL              memcmp_sub_779C063DF0 ; libxposed_art.so</span></code><code><span class="code-snippet_outer">.text:0000006C134C664C</span></code><code><span class="code-snippet_outer">.text:0000006C134C6650 1F 04 00 B1             CMN             X0, #1</span></code><code><span class="code-snippet_outer">.text:0000006C134C6654 61 10 00 54             B.NE            loc_6C134C6860</span></code><code><span class="code-snippet_outer">.text:0000006C134C6654</span></code><code><span class="code-snippet_outer">.text:0000006C134C6658 E0 03 19 AA             MOV             X0, X25       ; s</span></code><code><span class="code-snippet_outer">.text:0000006C134C665C 28 03 00 FD             STR             D8, [X25]     ; &#34;edxp.so&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C6660 0C 43 FF 97             BL              .strlen</span></code><code><span class="code-snippet_outer">.text:0000006C134C6660</span></code><code><span class="code-snippet_outer">.text:0000006C134C6664 E3 03 00 AA             MOV             X3, X0</span></code><code><span class="code-snippet_outer">.text:0000006C134C6668 E0 43 01 91             ADD             X0, SP, #0x2D0+var_280 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C134C666C E1 03 19 AA             MOV             X1, X25       ; void *</span></code><code><span class="code-snippet_outer">.text:0000006C134C6670 E2 03 1F AA             MOV             X2, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C134C6674 DF 6D 02 94             BL              memcmp_sub_779C063DF0 ; edxp.so</span></code><code><span class="code-snippet_outer">.text:0000006C134C6674</span></code><code><span class="code-snippet_outer">.text:0000006C134C6678 1F 04 00 B1             CMN             X0, #1</span></code><code><span class="code-snippet_outer">.text:0000006C134C667C 21 0F 00 54             B.NE            loc_6C134C6860</span></code><code><span class="code-snippet_outer">.text:0000006C134C667C</span></code><code><span class="code-snippet_outer">.text:0000006C134C6680 48 2E 8C 52 88 AE AC 72 MOV             W8, #0x65746172</span></code><code><span class="code-snippet_outer">.text:0000006C134C6688 E0 03 1A AA             MOV             X0, X26       ; s</span></code><code><span class="code-snippet_outer">.text:0000006C134C668C 49 03 00 FD             STR             D9, [X26]     ; &#34;libsubstrate&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C6690 48 0B 00 B9             STR             W8, [X26,#(aLibsubstrate+8 - 0x6C135CE440)] ; &#34;rate&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C6694 5F 33 00 39             STRB            WZR, [X26,#(aLibsubstrate+0xC - 0x6C135CE440)] ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C6698 FE 42 FF 97             BL              .strlen</span></code><code><span class="code-snippet_outer">.text:0000006C134C6698</span></code><code><span class="code-snippet_outer">.text:0000006C134C669C E3 03 00 AA             MOV             X3, X0</span></code><code><span class="code-snippet_outer">.text:0000006C134C66A0 E0 43 01 91             ADD             X0, SP, #0x2D0+var_280 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C134C66A4 E1 03 1A AA             MOV             X1, X26       ; void *</span></code><code><span class="code-snippet_outer">.text:0000006C134C66A8 E2 03 1F AA             MOV             X2, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C134C66AC D1 6D 02 94             BL              memcmp_sub_779C063DF0 ; libsubstrate</span></code><code><span class="code-snippet_outer">.text:0000006C134C66AC                         ;   } // starts at 6C134C65A0</span></code><code><span class="code-snippet_outer">.text:0000006C134C66AC</span></code><code><span class="code-snippet_outer">.text:0000006C134C66B0 1F 04 00 B1             CMN             X0, #1</span></code><code><span class="code-snippet_outer">.text:0000006C134C66B4 A1 0D 00 54             B.NE            loc_6C134C6868</span></code><code><span class="code-snippet_outer">.text:0000006C134C66B4</span></code><code><span class="code-snippet_outer">.text:0000006C134C66B8 48 08 00 90             ADRP            X8, #qword_6C135CE3C8@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C134C66BC 08 E5 41 F9             LDR             X8, [X8,#qword_6C135CE3C8@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C134C66C0 08 81 5E F8             LDUR            X8, [X8,#-0x18]</span></code><code><span class="code-snippet_outer">.text:0000006C134C66C4 1F 09 00 F1             CMP             X8, #2</span></code><code><span class="code-snippet_outer">.text:0000006C134C66C8 68 F6 FF 54             B.HI            loc_6C134C6594</span></code><code><span class="code-snippet_outer">.text:0000006C134C66C8</span></code><code><span class="code-snippet_outer">.text:0000006C134C66CC C8 25 8C 52 08 6E AD 72 MOV             W8, #0x6B70612E</span></code><code><span class="code-snippet_outer">.text:0000006C134C66D4 E0 03 1B AA             MOV             X0, X27       ; s</span></code><code><span class="code-snippet_outer">.text:0000006C134C66D8 68 03 00 B9             STR             W8, [X27]     ; &#34;.apk&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C66DC 7F 13 00 39             STRB            WZR, [X27,#(aApk+4 - 0x6C135CE450)] ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134C66E0 EC 42 FF 97             BL              .strlen</span></code><code><span class="code-snippet_outer">.text:0000006C134C66E0</span></code><code><span class="code-snippet_outer">.text:0000006C134C66E4 E3 03 00 AA             MOV             X3, X0</span></code><code><span class="code-snippet_outer">.text:0000006C134C66E8                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C134C66E8 E0 43 01 91             ADD             X0, SP, #0x2D0+var_280 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C134C66EC E1 03 1B AA             MOV             X1, X27       ; void *</span></code><code><span class="code-snippet_outer">.text:0000006C134C66F0 E2 03 1F AA             MOV             X2, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C134C66F4 BF 6D 02 94             BL              memcmp_sub_779C063DF0</span></code><code><span class="code-snippet_outer">.text:0000006C134C66F4</span></code><code><span class="code-snippet_outer">.text:0000006C134C66F8 1F 04 00 31             CMN             W0, #1</span></code><code><span class="code-snippet_outer">.text:0000006C134C66FC 81 02 00 54             B.NE            loc_6C134C674C</span></code></pre></section><p style="min-height: 24px;">检测magisk，读取/proc/mounts判断是否有特征</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:0000006C134FCDE4 88 06 40 F9             LDR             X8, [X20,#8]</span></code><code><span class="code-snippet_outer">.text:0000006C134FCDE8 49 04 00 B0             ADRP            X9, #qword_6C13585070@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C134FCDEC 20 39 40 FD             LDR             D0, [X9,#qword_6C13585070@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C134FCDF0 A0 06 00 90             ADRP            X0, #aProcMounts@PAGE ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134FCDF4 08 69 40 F9             LDR             X8, [X8,#0xD0]</span></code><code><span class="code-snippet_outer">.text:0000006C134FCDF8 A9 CE 8D 52             MOV             W9, #0x6E75</span></code><code><span class="code-snippet_outer">.text:0000006C134FCDFC 00 A0 27 91             ADD             X0, X0, #aProcMounts@PAGEOFF ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134FCE00 89 6E AE 72             MOVK            W9, #0x7374,LSL#16</span></code><code><span class="code-snippet_outer">.text:0000006C134FCE04 C2 36 80 52             MOV             W2, #0x1B6</span></code><code><span class="code-snippet_outer">.text:0000006C134FCE08 E1 03 1F 2A             MOV             W1, WZR</span></code><code><span class="code-snippet_outer">.text:0000006C134FCE0C 00 00 00 FD             STR             D0, [X0]      ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134FCE10 09 08 00 B9             STR             W9, [X0,#(aProcMounts+8 - 0x6C135D09E8)] ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:0000006C134FCE14 1F 30 00 39             STRB            WZR, [X0,#(aProcMounts+0xC - 0x6C135D09E8)] ; /proc/mounts</span></code><code><span class="code-snippet_outer">.text:0000006C134FCE18 00 01 3F D6             BLR             X8            ; openat /proc/mounts</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEE0 88 06 40 F9             LDR             X8, [X20,#8]</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEE4 08 31 40 F9             LDR             X8, [X8,#0x60]</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEE8                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEE8 E0 A3 00 91             ADD             X0, SP, #0x270+s</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEEC E1 03 15 2A             MOV             W1, W21</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEF0 00 01 3F D6             BLR             X8            ; read</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEF0</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEF4 60 02 00 B4             CBZ             X0, loc_6C134FCF40</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEF4</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEF8 E0 A3 00 91             ADD             X0, SP, #0x270+s ; s</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEFC E5 68 FE 97             BL              .strlen</span></code><code><span class="code-snippet_outer">.text:0000006C134FCEFC</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF00 E2 03 00 AA             MOV             X2, X0</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF04 E0 63 00 91             ADD             X0, SP, #0x270+var_258</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF08 E1 A3 00 91             ADD             X1, SP, #0x270+s</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF0C 90 95 01 94             BL              memmove_sub_779C06454C</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF0C                         ;   } // starts at 6C134FCEE8</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF0C</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF10 E1 0B 40 F9             LDR             X1, [SP,#0x270+var_260] ; void *</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF14 23 80 5E F8             LDUR            X3, [X1,#-0x18]</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF14</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF18                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF18 E0 63 00 91             ADD             X0, SP, #0x270+var_258 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF1C E2 03 1F AA             MOV             X2, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF20 B4 93 01 94             BL              memcmp_sub_779C063DF0</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF20                         ;   } // starts at 6C134FCF18</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF20</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF24 E1 07 40 F9             LDR             X1, [SP,#0x270+var_268] ; void *</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF28 F6 03 00 AA             MOV             X22, X0</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF2C 23 80 5E F8             LDUR            X3, [X1,#-0x18]</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF2C</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF30                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF30 E0 63 00 91             ADD             X0, SP, #0x270+var_258 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF34 E2 03 1F AA             MOV             X2, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF38 AE 93 01 94             BL              memcmp_sub_779C063DF0</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF38                         ;   } // starts at 6C134FCF30</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF38</span></code><code><span class="code-snippet_outer">.text:0000006C134FCF3C E5 FF FF 17             B               loc_6C134FCED0</span></code></pre></section><p style="min-height: 24px;">检测模拟器特征</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="kotlin"><code><span class="code-snippet_outer">name=51-3||1@/./init.android_x86.rc||1@/system/./lib/libhoudini.so||1@/data/./data/com.anddoes.launcher||1@/data/./data/com.bluestacks.settings name=Ludashi||1@/init.ludashi.rc||1@/system/bin/ludashi-prop||1@/system/lib/arm/libhoudini.so name=TencentAo1||1@/init.vbox86.rc||1@/dev/socket/genyd||2@ro.product.brand: tencent||1@/system/lib/libhoudini_408p.so name=lgshouyou||1@/system/lib/libc_malloc_debug_qemu.so||1@/system/lib/libldutils.so||1@/init.android_x86.rc||2@init.svc.ldinit:  name=TencentAo2||1@/init.vbox.rc||1@/dev/socket/genyd||2@ro.product.brand: tencent||1@/system/lib/libhoudini_408p.so name=Netease1||1@/init.x86.rc||2@nemud.vt.status: ||2@nemud.device.id: ||1@/sys/kernel/debug/x86||1@/sys/module/nemusf name=LeiDian4||2@init.svc.ldinit: ||1@/system/lib/libldutils.so||1@/system/lib/arm/libhoudini.so name=Leyou||1@/init.vbox2345_x86.rc||1@/system/bin/lybox_sf||1@/system/lib/liblybox_prop.so||1@/data/data/com.emulator.app.market name=TianTian2||1@/fstab.ttVM_x86||1@/system/bin/ttVM-vbox-sf||3@com.tiantian.ime name=Netease2||1@/init.cancro.rc||2@nemud.vt.status: ||2@nemud.device.id: ||1@/sys/kernel/debug/x86||1@/sys/module/nemusf name=LeiDian5||1@/init.android_x86.rc||2@init.svc.ldinit: ||2@ro.hardware.gps: ld||5@/system/lib/arm/libhoudini.so name=TencentAo3||5@libhoudini_415c.so name=LeiDian6||2@init.svc.ldinit: ||2@ro.hardware.gps: ld||5@/system/lib/arm/libhoudini.so name=Peak||1@/init.androidVM_x86.rc||2@init.svc.pkVM_x86-setup: ||1@/data/data/com.pk.peak.launcher3 name=NOX6079||1@/system/./bin/nox||1@/system/./lib/libnoxd.so||1@/system/./lib/libhoudini.so name=xDroid||2@init.svc.xdroidd: ||2@ro.product.name: xdroid||2@ro.xdroid: ||5@/system/lib/libhoudini.so name=Sina||1@/system/lib/libc_malloc_debug_qemu.so||1@/init.x86.rc||1@/x86.prop||1@/data/data/org.adwfreak.launcher name=BlueStacks255||1@/./init.x86.rc||1@/data/./data/com.bluestacks.appmart||1@/data/./data/com.bluestacks.settings name=XiaoYao5119||1@/init.intel.rc||1@/data/data/com.microvirt.launcher||1@/data/data/com.microvirt.market name=TianTian1||1@/system/bin/ttVM-prop||1@/init.ttVM_x86.rc||2@init.svc.ttVM_x86-setup: ||1@/data/data/com.tiantian.ime name=LeiDian1||1@/system/lib/libc_malloc_debug_qemu.so||1@/system/lib/libldutils.so||1@/init.android_x86.rc||2@init.svc.ldinit: ||3@com.android.flysilkworm name=ChangWan||1@/system/bin/androVM-prop||1@/dev/socket/genyd||1@/init.vbox86p.rc||2@init.svc.vbox86-setup: ||1@/data/data/cn.itools.vm.launcher name=YZZ||1@/init.x86.rc||1@/x86.prop||1@/data/data/cn.yzz.app.launcher name=QingTing||1@/init.x86.rc||1@/x86.prop||1@/data/data/com.pop.store name=DuoWan||1@/init.x86.rc||1@/x86.prop||1@/data/data/com.duowan.coreserver name=9981||1@/system/lib/libdroidbox-ril.so||1@/system/bin/droidbox-prop||1@/init.droidbox.rc||2@ro.kernel.droidbox: ||1@/data/data/com.droidbox.market name=StartLight||1@/system/bin/droid4x-prop||1@/system/lib/libdroid4x.so||1@/init.vbox86.rc||2@init.svc.droid4x: ||1@/data/data/com.starlight.helper.task name=KaopuBlueStacks||1@/system/lib/libKaopuSdk.so||1@/init.x86.rc||1@/x86.prop||1@/data/data/com.kapou.launcher name=KaopuTianTian||1@/system/bin/ttVM-prop||1@/init.ttVM_x86.rc||1@/system/lib/libKaopuSdk.so||2@init.svc.ttVM_x86-setup: ||1@/data/data/com.kapou.launcher name=51||1@/x86.prop||1@/init.x86.rc||2@ro.product.oem: 51mnq||1@/data/data/com.anddoes.launcher name=Nox||2@init.svc.noxd:  name=XiaoYao||1@/system/bin/microvirt-prop||1@/system/lib/libmicrovirt.so||2@init.svc.vbox86-setup: ||2@init.svc.microvirtd: ||1@/data/data/com.microvirt.launcher name=Netease3||1@/system/bin/nemuVM-prop||1@/x86.prop||2@init.svc.nemu-service: ||1@/data/data/com.netease.nemu_android_launcher.nemu name=TencentAo4||1@/init.vbox86.rc||1@/dev/socket/genyd||3@com.tencent.tinput name=DDZS||1@/system/lib/libc_malloc_debug_qemu.so-arm||1@/init.x86.rc||1@/x86.prop||1@/data/data/com.kapou.launcher||1@/data/data/com.ddzs.mkt name=Droid4X||1@/system/bin/droid4x-prop||1@/system/lib/libdroid4x.so||2@init.svc.droid4x: ||1@/data/data/me.haima.androidassist name=Phoenix9||1@/init.android_x86_64.rc||1@/system/lib/libhoudini.so||1@/data/data/com.chaozhuo.filemanager.phoenixos </span></code><code><span class="code-snippet_outer">name=LeiDian3||1@/system/lib/libl</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>4.3、采集后设备信息</strong></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;0&#34;: &#34;200&#34;,</span></code><code><span class="code-snippet_outer">  &#34;1&#34;: &#34;A4465&#34;,</span></code><code><span class="code-snippet_outer">  &#34;10&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;2&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;3&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;4&#34;: &#34;74601ae234884d9b8b5fb16501e82f18&#34;,</span></code><code><span class="code-snippet_outer">  &#34;5&#34;: &#34;1673253393&#34;,</span></code><code><span class="code-snippet_outer">  &#34;6&#34;: &#34;0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;7&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;8&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;9&#34;: &#34;YD00458597415740&#34;,</span></code><code><span class="code-snippet_outer">  &#34;A&#34;: 1673247344,</span></code><code><span class="code-snippet_outer">  &#34;ABS&#34;: &#34;{\n\t\&#34;i\&#34;:null,\n\t\&#34;s\&#34;:0\n}\n&#34;,</span></code><code><span class="code-snippet_outer">  &#34;B&#34;: 33,</span></code><code><span class="code-snippet_outer">  &#34;BD&#34;: &#34;redfin-user13TQ1A2301050019292298release-keys&#34;,</span></code><code><span class="code-snippet_outer">  &#34;BF&#34;: &#34;google/redfin/redfin:13/TQ1A230105001/9292298:user/release-keys&#34;,</span></code><code><span class="code-snippet_outer">  &#34;BP&#34;: &#34;redfin&#34;,</span></code><code><span class="code-snippet_outer">  &#34;C&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;D&#34;: &#34;r3-05-9150479&#34;,</span></code><code><span class="code-snippet_outer">  &#34;F&#34;: 8,</span></code><code><span class="code-snippet_outer">  &#34;GSS&#34;: &#34;ABSENT&#34;,</span></code><code><span class="code-snippet_outer">  &#34;GVB&#34;: &#34;g7250-00220-221017-B-9183951&#34;,</span></code><code><span class="code-snippet_outer">  &#34;HW&#34;: &#34;redfin&#34;,</span></code><code><span class="code-snippet_outer">  &#34;I&#34;: &#34;4742102e42cff5c8&#34;,</span></code><code><span class="code-snippet_outer">  &#34;M&#34;: 20,</span></code><code><span class="code-snippet_outer">  &#34;P&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;PB&#34;: &#34;redfin&#34;,</span></code><code><span class="code-snippet_outer">  &#34;PD&#34;: &#34;redfin&#34;,</span></code><code><span class="code-snippet_outer">  &#34;PN&#34;: &#34;redfin&#34;,</span></code><code><span class="code-snippet_outer">  &#34;VD&#34;: &#34;902addd5a735a7a7395bac50911e135aac3aaad3b22c04b75272460d77073fee&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a&#34;: &#34;Pixel5&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b&#34;: &#34;arm64-v8a&#34;,</span></code><code><span class="code-snippet_outer">  &#34;bl&#34;: 100,</span></code><code><span class="code-snippet_outer">  &#34;bn&#34;: &#34;27&#34;,</span></code><code><span class="code-snippet_outer">  &#34;bs&#34;: &#34;02:00:00:00:00:00&#34;,</span></code><code><span class="code-snippet_outer">  &#34;c&#34;: &#34;1080*2340&#34;,</span></code><code><span class="code-snippet_outer">  &#34;ch&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;ci&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;cp&#34;: &#34;7(QualcommTechnologies,IncLITO)&#34;,</span></code><code><span class="code-snippet_outer">  &#34;cs&#34;: 1,</span></code><code><span class="code-snippet_outer">  &#34;d&#34;: &#34;c635270fada4c350dba395a6b15fec67&#34;,</span></code><code><span class="code-snippet_outer">  &#34;e&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;f&#34;: 19573,</span></code><code><span class="code-snippet_outer">  &#34;fd&#34;: &#34;103&#34;,</span></code><code><span class="code-snippet_outer">  &#34;fm&#34;: &#34;312688&#34;,</span></code><code><span class="code-snippet_outer">  &#34;g&#34;: &#34;4190&#34;,</span></code><code><span class="code-snippet_outer">  &#34;h&#34;: 2213303839,</span></code><code><span class="code-snippet_outer">  &#34;h2&#34;: 2050751049,</span></code><code><span class="code-snippet_outer">  &#34;hf&#34;: &#34;androidosBinderProxy&#34;,</span></code><code><span class="code-snippet_outer">  &#34;i&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;icc&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;inf&#34;: 0,</span></code><code><span class="code-snippet_outer">  &#34;k&#34;: &#34;unknown&#34;,</span></code><code><span class="code-snippet_outer">  &#34;l&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;ll&#34;: &#34;zh&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m&#34;: &#34;02:00:00:00:00:00&#34;,</span></code><code><span class="code-snippet_outer">  &#34;mf&#34;: &#34;Google&#34;,</span></code><code><span class="code-snippet_outer">  &#34;mfk&#34;: &#34;null\n&#34;,</span></code><code><span class="code-snippet_outer">  &#34;mo&#34;: 0,</span></code><code><span class="code-snippet_outer">  &#34;mr&#34;: 10242,</span></code><code><span class="code-snippet_outer">  &#34;n&#34;: -1,</span></code><code><span class="code-snippet_outer">  &#34;nt&#34;: 1,</span></code><code><span class="code-snippet_outer">  &#34;p&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;pn&#34;: &#34;comxiaopengmycarinfo&#34;,</span></code><code><span class="code-snippet_outer">  &#34;q&#34;: 1673247344,</span></code><code><span class="code-snippet_outer">  &#34;r&#34;: 1,</span></code><code><span class="code-snippet_outer">  &#34;rm&#34;: 0,</span></code><code><span class="code-snippet_outer">  &#34;s&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;si&#34;: [{</span></code><code><span class="code-snippet_outer">    &#34;n&#34;: &#34;LSM6DSRAccelerometer&#34;,</span></code><code><span class="code-snippet_outer">    &#34;t&#34;: 1,</span></code><code><span class="code-snippet_outer">    &#34;v&#34;: &#34;STMicro&#34;</span></code><code><span class="code-snippet_outer">  }],</span></code><code><span class="code-snippet_outer">  &#34;sin&#34;: &#34;None&#34;,</span></code><code><span class="code-snippet_outer">  &#34;ss&#34;: &#34;&lt;unknownssid&gt;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;t&#34;: 5,</span></code><code><span class="code-snippet_outer">  &#34;ta&#34;: &#34;release-keys&#34;,</span></code><code><span class="code-snippet_outer">  &#34;td&#34;: &#34;109&#34;,</span></code><code><span class="code-snippet_outer">  &#34;tm&#34;: &#34;7640596&#34;,</span></code><code><span class="code-snippet_outer">  &#34;u&#34;: 0,</span></code><code><span class="code-snippet_outer">  &#34;v&#34;: &#34;13&#34;,</span></code><code><span class="code-snippet_outer">  &#34;vp&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;wp&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;y&#34;: 1673250180,</span></code><code><span class="code-snippet_outer">  &#34;z&#34;: &#34;&#34;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h3 style="line-height: 28px;margin-top: 16px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);"><strong>五、算法分析</strong></span></h3><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>5.1、生成随机AES KEY</strong></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:0000006C14667914 FF 43 02 D1             SUB             SP, SP, #0x90</span></code><code><span class="code-snippet_outer">.text:0000006C14667918 FA 67 04 A9             STP             X26, X25, [SP,#0x80+var_40]</span></code><code><span class="code-snippet_outer">.text:0000006C1466791C F8 5F 05 A9             STP             X24, X23, [SP,#0x80+var_30]</span></code><code><span class="code-snippet_outer">.text:0000006C14667920 F6 57 06 A9             STP             X22, X21, [SP,#0x80+var_20]</span></code><code><span class="code-snippet_outer">.text:0000006C14667924 F4 4F 07 A9             STP             X20, X19, [SP,#0x80+var_10]</span></code><code><span class="code-snippet_outer">.text:0000006C14667928 FD 7B 08 A9             STP             X29, X30, [SP,#0x80+var_s0]</span></code><code><span class="code-snippet_outer">.text:0000006C1466792C FD 03 02 91             ADD             X29, SP, #0x80</span></code><code><span class="code-snippet_outer">.text:0000006C14667930 57 D0 3B D5             MRS             X23, #3, c13, c0, #2</span></code><code><span class="code-snippet_outer">.text:0000006C14667934 EC 16 40 F9             LDR             X12, [X23,#0x28]</span></code><code><span class="code-snippet_outer">.text:0000006C14667938 C9 04 00 F0             ADRP            X9, #byte_6C14702FA0@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1466793C F5 03 02 2A             MOV             W21, W2</span></code><code><span class="code-snippet_outer">.text:0000006C14667940 F3 03 01 AA             MOV             X19, X1</span></code><code><span class="code-snippet_outer">.text:0000006C14667944 EC 1F 00 F9             STR             X12, [SP,#0x80+var_48]</span></code><code><span class="code-snippet_outer">.text:0000006C14667948 4C 07 00 B0             ADRP            X12, #a0123456789abcd_0@PAGE ; &#34;0123456789abcdefghijklmnopqrstuvwxyzABC&#34;...</span></code><code><span class="code-snippet_outer">    .text:0000006C1466794C F4 03 00 AA             MOV             X20, X0</span></code><code><span class="code-snippet_outer">.text:0000006C14667950 E8 03 1F AA             MOV             X8, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C14667954 29 81 3E 91             ADD             X9, X9, #byte_6C14702FA0@PAGEOFF</span></code><code><span class="code-snippet_outer">.text:0000006C14667958 6A 19 83 52             MOV             W10, #0x18CB</span></code><code><span class="code-snippet_outer">.text:0000006C1466795C 6B 17 83 52             MOV             W11, #0x18BB</span></code><code><span class="code-snippet_outer">.text:0000006C14667960 8C 71 2E 91             ADD             X12, X12, #a0123456789abcd_0@PAGEOFF ; &#34;0123456789abcdefghijklmnopqrstuvwxyzABC&#34;...</span></code><code><span class="code-snippet_outer">    .text:0000006C14667960</span></code><code><span class="code-snippet_outer">.text:0000006C14667964</span></code><code><span class="code-snippet_outer">.text:0000006C14667964                         DecString_loc_6F65479964      ; CODE XREF: random_base64_sub_6F65479914+74↓j</span></code><code><span class="code-snippet_outer">.text:0000006C14667964 0E 0D 40 92             AND             X14, X8, #0xF</span></code><code><span class="code-snippet_outer">.text:0000006C14667968 2D 01 08 8B             ADD             X13, X9, X8</span></code><code><span class="code-snippet_outer">.text:0000006C1466796C 2E 01 0E 8B             ADD             X14, X9, X14</span></code><code><span class="code-snippet_outer">.text:0000006C14667970 AD 69 6A 38             LDRB            W13, [X13,X10]</span></code><code><span class="code-snippet_outer">.text:0000006C14667974 CE 69 6B 38             LDRB            W14, [X14,X11]</span></code><code><span class="code-snippet_outer">.text:0000006C14667978 CD 01 0D 4A             EOR             W13, W14, W13</span></code><code><span class="code-snippet_outer">.text:0000006C1466797C 8D 69 28 38             STRB            W13, [X12,X8] ; 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ</span></code><code><span class="code-snippet_outer">.text:0000006C14667980 08 05 00 91             ADD             X8, X8, #1</span></code><code><span class="code-snippet_outer">.text:0000006C14667984 1F 5D 01 F1             CMP             X8, #0x57 ; &#39;W&#39;</span></code><code><span class="code-snippet_outer">    .text:0000006C14667988 E1 FE FF 54             B.NE            DecString_loc_6F65479964</span></code><code><span class="code-snippet_outer">.text:0000006C14667988</span></code><code><span class="code-snippet_outer">.text:0000006C1466798C                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1466798C 41 07 00 B0 21 70 2E 91 ADRL            X1, a0123456789abcd_0 ; s</span></code><code><span class="code-snippet_outer">.text:0000006C14667994 E0 63 00 91             ADD             X0, SP, #0x80+var_68 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C14667998 E2 83 00 91             ADD             X2, SP, #0x80+var_60</span></code><code><span class="code-snippet_outer">.text:0000006C1466799C DE EE 01 94             BL              strlen_new_sub_77982AB514</span></code><code><span class="code-snippet_outer">.text:0000006C1466799C                         ;   } // starts at 6C1466798C</span></code><code><span class="code-snippet_outer">.text:0000006C1466799C</span></code><code><span class="code-snippet_outer">.text:0000006C146679A0 56 07 00 B0 D6 D2 2F 91 ADRL            X22, asc_6C14750BF4 ; &#34;\&#34;&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C146679A8 48 04 80 52             MOV             W8, #0x22 ; &#39;&#34;&#39;</span></code><code><span class="code-snippet_outer">    .text:0000006C146679AC E0 03 16 AA             MOV             X0, X22       ; s</span></code><code><span class="code-snippet_outer">.text:0000006C146679B0 C8 02 00 79             STRH            W8, [X22]     ; &#34;\&#34;&#34;</span></code><code><span class="code-snippet_outer">    .text:0000006C146679B4 37 C6 FE 97             BL              .strlen</span></code><code><span class="code-snippet_outer">.text:0000006C146679B4</span></code><code><span class="code-snippet_outer">.text:0000006C146679B8 E2 03 00 AA             MOV             X2, X0</span></code><code><span class="code-snippet_outer">.text:0000006C146679BC                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C146679BC E0 63 00 91             ADD             X0, SP, #0x80+var_68</span></code><code><span class="code-snippet_outer">.text:0000006C146679C0 E1 03 16 AA             MOV             X1, X22</span></code><code><span class="code-snippet_outer">.text:0000006C146679C4 A1 F0 01 94             BL              nop_sub_6F654F5C48</span></code><code><span class="code-snippet_outer">.text:0000006C146679C4                         ;   } // starts at 6C146679BC</span></code><code><span class="code-snippet_outer">.text:0000006C146679C4</span></code><code><span class="code-snippet_outer">.text:0000006C146679C8 41 07 00 B0             ADRP            X1, #dword_6C14750BF8@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C146679CC 88 C5 85 52             MOV             W8, #0x2E2C</span></code><code><span class="code-snippet_outer">.text:0000006C146679D0 21 E0 2F 91             ADD             X1, X1, #dword_6C14750BF8@PAGEOFF ; s</span></code><code><span class="code-snippet_outer">.text:0000006C146679D4 88 C7 A7 72             MOVK            W8, #0x3E3C,LSL#16</span></code><code><span class="code-snippet_outer">.text:0000006C146679D8 E9 E5 87 52             MOV             W9, #0x3F2F</span></code><code><span class="code-snippet_outer">.text:0000006C146679DC 28 00 00 B9             STR             W8, [X1]</span></code><code><span class="code-snippet_outer">.text:0000006C146679E0 29 08 00 79             STRH            W9, [X1,#(word_6C14750BFC - 0x6C14750BF8)]</span></code><code><span class="code-snippet_outer">.text:0000006C146679E4 3F 18 00 39             STRB            WZR, [X1,#(byte_6C14750BFE - 0x6C14750BF8)]</span></code><code><span class="code-snippet_outer">.text:0000006C146679E8                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C146679E8 E0 43 00 91             ADD             X0, SP, #0x80+var_70 ; int</span></code><code><span class="code-snippet_outer">.text:0000006C146679EC E2 83 00 91             ADD             X2, SP, #0x80+var_60</span></code><code><span class="code-snippet_outer">.text:0000006C146679F0 C9 EE 01 94             BL              strlen_new_sub_77982AB514</span></code><code><span class="code-snippet_outer">.text:0000006C146679F0                         ;   } // starts at 6C146679E8</span></code><code><span class="code-snippet_outer">.text:0000006C146679F0</span></code><code><span class="code-snippet_outer">.text:0000006C146679F4                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C146679F4 E0 23 00 91             ADD             X0, SP, #0x80+var_78</span></code><code><span class="code-snippet_outer">.text:0000006C146679F8 E1 63 00 91             ADD             X1, SP, #0x80+var_68</span></code><code><span class="code-snippet_outer">.text:0000006C146679FC FC F3 01 94             BL              nop_sub_779C0649EC</span></code><code><span class="code-snippet_outer">.text:0000006C146679FC                         ;   } // starts at 6C146679F4</span></code><code><span class="code-snippet_outer">.text:0000006C146679FC</span></code><code><span class="code-snippet_outer">.text:0000006C14667A00                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C14667A00 E0 23 00 91             ADD             X0, SP, #0x80+var_78</span></code><code><span class="code-snippet_outer">.text:0000006C14667A04 E1 43 00 91             ADD             X1, SP, #0x80+var_70</span></code><code><span class="code-snippet_outer">.text:0000006C14667A08 60 F0 01 94             BL              new_sub_779C063B88</span></code><code><span class="code-snippet_outer">.text:0000006C14667A08                         ;   } // starts at 6C14667A00</span></code><code><span class="code-snippet_outer">.text:0000006C14667A08</span></code><code><span class="code-snippet_outer">.text:0000006C14667A0C E8 07 40 F9             LDR             X8, [SP,#0x80+var_78]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A10 18 81 5E B8             LDUR            W24, [X8,#-0x18]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A14 FF 7F 02 A9             STP             XZR, XZR, [SP,#0x80+var_60]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A18 FF C3 00 39             STRB            WZR, [SP,#0x80+var_50]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A1C 88 22 40 F9             LDR             X8, [X20,#0x40]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A20 16 A1 40 F9             LDR             X22, [X8,#0x140]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A24 08 AD 40 F9             LDR             X8, [X8,#0x158]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A28                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C14667A28 E0 03 1F AA             MOV             X0, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C14667A2C 00 01 3F D6             BLR             X8            ; time</span></code><code><span class="code-snippet_outer">.text:0000006C14667A2C</span></code><code><span class="code-snippet_outer">.text:0000006C14667A30 C0 02 3F D6             BLR             X22           ; srand</span></code><code><span class="code-snippet_outer">.text:0000006C14667A30                         ;   } // starts at 6C14667A28</span></code><code><span class="code-snippet_outer">.text:0000006C14667A30</span></code><code><span class="code-snippet_outer">.text:0000006C14667A34 88 22 40 F9             LDR             X8, [X20,#0x40]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A38 BF 06 00 71             CMP             W21, #1</span></code><code><span class="code-snippet_outer">.text:0000006C14667A3C B5 7E 40 93             SXTW            X21, W21</span></code><code><span class="code-snippet_outer">.text:0000006C14667A40 AB 02 00 54             B.LT            loc_6C14667A94</span></code><code><span class="code-snippet_outer">.text:0000006C14667A40</span></code><code><span class="code-snippet_outer">.text:0000006C14667A44 F9 03 1F AA             MOV             X25, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C14667A48 FA 83 00 91             ADD             X26, SP, #0x80+var_60</span></code><code><span class="code-snippet_outer">.text:0000006C14667A48</span></code><code><span class="code-snippet_outer">.text:0000006C14667A4C</span></code><code><span class="code-snippet_outer">.text:0000006C14667A4C                         loc_6C14667A4C                ; CODE XREF: random_base64_sub_6F65479914+17C↓j</span></code><code><span class="code-snippet_outer">.text:0000006C14667A4C 08 A5 40 F9             LDR             X8, [X8,#0x148]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A50                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C14667A50 00 01 3F D6             BLR             X8            ; rand</span></code><code><span class="code-snippet_outer">.text:0000006C14667A50</span></code><code><span class="code-snippet_outer">.text:0000006C14667A54 E8 07 40 F9             LDR             X8, [SP,#0x80+var_78]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A58 F6 03 00 2A             MOV             W22, W0</span></code><code><span class="code-snippet_outer">.text:0000006C14667A5C 09 81 5F B8             LDUR            W9, [X8,#-8]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A60 89 00 F8 37             TBNZ            W9, #0x1F, copy_random_loc_6C14667A70</span></code><code><span class="code-snippet_outer">.text:0000006C14667A60</span></code><code><span class="code-snippet_outer">.text:0000006C14667A64 E0 23 00 91             ADD             X0, SP, #0x80+var_78</span></code><code><span class="code-snippet_outer">.text:0000006C14667A68 4C F2 01 94             BL              memmove_sub_779C064398</span></code><code><span class="code-snippet_outer">.text:0000006C14667A68                         ;   } // starts at 6C14667A50</span></code><code><span class="code-snippet_outer">.text:0000006C14667A68</span></code><code><span class="code-snippet_outer">.text:0000006C14667A6C E8 07 40 F9             LDR             X8, [SP,#0x80+var_78]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A6C</span></code><code><span class="code-snippet_outer">.text:0000006C14667A70</span></code><code><span class="code-snippet_outer">.text:0000006C14667A70                         copy_random_loc_6C14667A70    ; CODE XREF: random_base64_sub_6F65479914+14C↑j</span></code><code><span class="code-snippet_outer">.text:0000006C14667A70 C9 0E D8 1A             SDIV            W9, W22, W24</span></code><code><span class="code-snippet_outer">.text:0000006C14667A74 29 D9 18 1B             MSUB            W9, W9, W24, W22</span></code><code><span class="code-snippet_outer">.text:0000006C14667A78 29 7D 40 93             SXTW            X9, W9</span></code><code><span class="code-snippet_outer">.text:0000006C14667A7C 08 69 69 38             LDRB            W8, [X8,X9]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A80 48 6B 39 38             STRB            W8, [X26,X25]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A84 88 22 40 F9             LDR             X8, [X20,#0x40]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A88 39 07 00 91             ADD             X25, X25, #1</span></code><code><span class="code-snippet_outer">.text:0000006C14667A8C 3F 03 15 EB             CMP             X25, X21</span></code><code><span class="code-snippet_outer">.text:0000006C14667A90 EB FD FF 54             B.LT            loc_6C14667A4C</span></code><code><span class="code-snippet_outer">.text:0000006C14667A90</span></code><code><span class="code-snippet_outer">.text:0000006C14667A94</span></code><code><span class="code-snippet_outer">.text:0000006C14667A94                         loc_6C14667A94                ; CODE XREF: random_base64_sub_6F65479914+12C↑j</span></code><code><span class="code-snippet_outer">.text:0000006C14667A94 08 A9 40 F9             LDR             X8, [X8,#0x150]</span></code><code><span class="code-snippet_outer">.text:0000006C14667A98                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C14667A98 E1 83 00 91             ADD             X1, SP, #0x80+var_60</span></code><code><span class="code-snippet_outer">.text:0000006C14667A9C E0 03 13 AA             MOV             X0, X19</span></code><code><span class="code-snippet_outer">.text:0000006C14667AA0 E2 03 15 AA             MOV             X2, X21</span></code><code><span class="code-snippet_outer">.text:0000006C14667AA4 00 01 3F D6             BLR             X8            ; memcpy</span></code><code><span class="code-snippet_outer">.text:0000006C14667AA4                         ;   } // starts at 6C14667A98</span></code><code><span class="code-snippet_outer">.text:0000006C14667AA4</span></code><code><span class="code-snippet_outer">.text:0000006C14667AA8 E8 07 40 F9             LDR             X8, [SP,#0x80+var_78]</span></code><code><span class="code-snippet_outer">.text:0000006C14667AAC 33 07 00 D0             ADRP            X19, #off_6C1474DF48@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C14667AB0 73 A6 47 F9             LDR             X19, [X19,#off_6C1474DF48@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C14667AB4 00 61 00 D1             SUB             X0, X8, #0x18 ; ptr</span></code><code><span class="code-snippet_outer">.text:0000006C14667AB8 1F 00 13 EB             CMP             X0, X19</span></code><code><span class="code-snippet_outer">.text:0000006C14667ABC 81 02 00 54             B.NE            loc_6C14667B0C</span></code><code><span class="code-snippet_outer">.text:0000006C14667ABC</span></code><code><span class="code-snippet_outer">.text:0000006C14667AC0</span></code><code><span class="code-snippet_outer">.text:0000006C14667AC0                         loc_6C14667AC0                ; CODE XREF: random_base64_sub_6F65479914+274↓j</span></code><code><span class="code-snippet_outer">.text:0000006C14667AC0                                                       ; random_base64_sub_6F65479914+280↓j</span></code><code><span class="code-snippet_outer">.text:0000006C14667AC0 E8 0B 40 F9             LDR             X8, [SP,#0x80+var_70]</span></code><code><span class="code-snippet_outer">.text:0000006C14667AC4 00 61 00 D1             SUB             X0, X8, #0x18 ; ptr</span></code><code><span class="code-snippet_outer">.text:0000006C14667AC8 1F 00 13 EB             CMP             X0, X19</span></code><code><span class="code-snippet_outer">.text:0000006C14667ACC 21 03 00 54             B.NE            loc_6C14667B30</span></code><code><span class="code-snippet_outer">.text:0000006C14667ACC</span></code><code><span class="code-snippet_outer">.text:0000006C14667AD0</span></code><code><span class="code-snippet_outer">.text:0000006C14667AD0                         loc_6C14667AD0                ; CODE XREF: random_base64_sub_6F65479914+294↓j</span></code><code><span class="code-snippet_outer">.text:0000006C14667AD0                                                       ; random_base64_sub_6F65479914+2A0↓j</span></code><code><span class="code-snippet_outer">.text:0000006C14667AD0 E8 0F 40 F9             LDR             X8, [SP,#0x80+var_68]</span></code><code><span class="code-snippet_outer">.text:0000006C14667AD4 00 61 00 D1             SUB             X0, X8, #0x18 ; ptr</span></code><code><span class="code-snippet_outer">.text:0000006C14667AD8 1F 00 13 EB             CMP             X0, X19</span></code><code><span class="code-snippet_outer">.text:0000006C14667ADC C1 03 00 54             B.NE            loc_6C14667B54</span></code><code><span class="code-snippet_outer">.text:0000006C14667ADC</span></code><code><span class="code-snippet_outer">.text:0000006C14667AE0</span></code><code><span class="code-snippet_outer">.text:0000006C14667AE0                         loc_6C14667AE0                ; CODE XREF: random_base64_sub_6F65479914+2B4↓j</span></code><code><span class="code-snippet_outer">.text:0000006C14667AE0                                                       ; random_base64_sub_6F65479914+2C0↓j</span></code><code><span class="code-snippet_outer">.text:0000006C14667AE0 E8 16 40 F9             LDR             X8, [X23,#0x28]</span></code><code><span class="code-snippet_outer">.text:0000006C14667AE4 E9 1F 40 F9             LDR             X9, [SP,#0x80+var_48]</span></code><code><span class="code-snippet_outer">.text:0000006C14667AE8 1F 01 09 EB             CMP             X8, X9</span></code><code><span class="code-snippet_outer">.text:0000006C14667AEC 61 07 00 54             B.NE            loc_6C14667BD8</span></code><code><span class="code-snippet_outer">.text:0000006C14667AEC</span></code><code><span class="code-snippet_outer">.text:0000006C14667AF0 FD 7B 48 A9             LDP             X29, X30, [SP,#0x80+var_s0]</span></code><code><span class="code-snippet_outer">.text:0000006C14667AF4 F4 4F 47 A9             LDP             X20, X19, [SP,#0x80+var_10]</span></code><code><span class="code-snippet_outer">.text:0000006C14667AF8 F6 57 46 A9             LDP             X22, X21, [SP,#0x80+var_20]</span></code><code><span class="code-snippet_outer">.text:0000006C14667AFC F8 5F 45 A9             LDP             X24, X23, [SP,#0x80+var_30]</span></code><code><span class="code-snippet_outer">.text:0000006C14667B00 FA 67 44 A9             LDP             X26, X25, [SP,#0x80+var_40]</span></code><code><span class="code-snippet_outer">.text:0000006C14667B04 FF 43 02 91             ADD             SP, SP, #0x90</span></code><code><span class="code-snippet_outer">.text:0000006C14667B08 C0 03 5F D6             RET</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>5.2、加密AES KEY</strong></span></p><p style="min-height: 24px;">RSA公钥加密AES KEY</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:0000006C1466A300 FF 43 03 D1             SUB             SP, SP, #0xD0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A304 F9 43 00 F9             STR             X25, [SP,#0xC0+var_40]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A308 F8 5F 09 A9             STP             X24, X23, [SP,#0xC0+var_30]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A30C F6 57 0A A9             STP             X22, X21, [SP,#0xC0+var_20]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A310 F4 4F 0B A9             STP             X20, X19, [SP,#0xC0+var_10]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A314 FD 7B 0C A9             STP             X29, X30, [SP,#0xC0+var_s0]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A318 FD 03 03 91             ADD             X29, SP, #0xC0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A31C 59 D0 3B D5             MRS             X25, #3, c13, c0, #2</span></code><code><span class="code-snippet_outer">.text:0000006C1466A320 28 17 40 F9             LDR             X8, [X25,#0x28]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A324 F4 03 00 AA             MOV             X20, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A328 E0 03 1F 2A             MOV             W0, WZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A32C 5F 40 00 71             CMP             W2, #0x10</span></code><code><span class="code-snippet_outer">.text:0000006C1466A330 A8 83 1B F8             STUR            X8, [X29,#var_48]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A334 E1 09 00 54             B.NE            loc_6C1466A470</span></code><code><span class="code-snippet_outer">.text:0000006C1466A334</span></code><code><span class="code-snippet_outer">.text:0000006C1466A338 F6 03 01 AA             MOV             X22, X1</span></code><code><span class="code-snippet_outer">.text:0000006C1466A33C A1 09 00 B4             CBZ             X1, loc_6C1466A470</span></code><code><span class="code-snippet_outer">.text:0000006C1466A33C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A340 F3 03 03 AA             MOV             X19, X3</span></code><code><span class="code-snippet_outer">.text:0000006C1466A344 63 09 00 B4             CBZ             X3, loc_6C1466A470</span></code><code><span class="code-snippet_outer">.text:0000006C1466A344</span></code><code><span class="code-snippet_outer">.text:0000006C1466A348 18 07 00 F0             ADRP            X24, #off_6C1474DF48@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1466A34C 18 A7 47 F9             LDR             X24, [X24,#off_6C1474DF48@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A350 BF 30 00 71             CMP             W5, #0xC</span></code><code><span class="code-snippet_outer">.text:0000006C1466A354 09 63 00 91             ADD             X9, X24, #0x18</span></code><code><span class="code-snippet_outer">.text:0000006C1466A358 A9 83 1A F8             STUR            X9, [X29,#var_58]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A35C 28 08 00 54             B.HI            loc_6C1466A460</span></code><code><span class="code-snippet_outer">.text:0000006C1466A35C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A360 88 02 40 F9             LDR             X8, [X20]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A364 F5 03 04 AA             MOV             X21, X4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A368 09 21 40 F9             LDR             X9, [X8,#0x40]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A36C                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1466A36C E8 83 00 91             ADD             X8, SP, #0xC0+var_A0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A370 E0 03 14 AA             MOV             X0, X20</span></code><code><span class="code-snippet_outer">.text:0000006C1466A374 E1 03 05 2A             MOV             W1, W5</span></code><code><span class="code-snippet_outer">.text:0000006C1466A378 20 01 3F D6             BLR             X9            ; 解密rsa key</span></code><code><span class="code-snippet_outer">.text:0000006C1466A378                         ;   } // starts at 6C1466A36C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A378</span></code><code><span class="code-snippet_outer">.text:0000006C1466A37C                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1466A37C A0 63 01 D1             SUB             X0, X29, #-var_58</span></code><code><span class="code-snippet_outer">.text:0000006C1466A380 E1 83 00 91             ADD             X1, SP, #0xC0+var_A0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A384 8F E6 01 94             BL              nop_sub_6D5294CDC0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A384                         ;   } // starts at 6C1466A37C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A384</span></code><code><span class="code-snippet_outer">.text:0000006C1466A388 E8 13 40 F9             LDR             X8, [SP,#0xC0+var_A0]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A38C 00 61 00 D1             SUB             X0, X8, #0x18 ; ptr</span></code><code><span class="code-snippet_outer">.text:0000006C1466A390 1F 00 18 EB             CMP             X0, X24</span></code><code><span class="code-snippet_outer">.text:0000006C1466A394 01 0A 00 54             B.NE            loc_6C1466A4D4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A394</span></code><code><span class="code-snippet_outer">.text:0000006C1466A398</span></code><code><span class="code-snippet_outer">.text:0000006C1466A398                         loc_6C1466A398                ; CODE XREF: RSA_Enc_AESKEY_sub_6F7389D300+234↓j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A398                                                       ; RSA_Enc_AESKEY_sub_6F7389D300+240↓j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A398 00 07 00 F0             ADRP            X0, #off_6C1474DD68@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1466A39C 01 07 00 F0             ADRP            X1, #off_6C1474DE58@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3A0 00 B4 46 F9             LDR             X0, [X0,#off_6C1474DD68@PAGEOFF] ; dest</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3A4 21 2C 47 F9             LDR             X1, [X1,#off_6C1474DE58@PAGEOFF] ; src</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3A8 02 35 80 52             MOV             W2, #0x1A8    ; n</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3AC 7D BA FE 97             BL              .memcpy</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3AC</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3B0                         ;   try {</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3B0 00 07 00 F0             ADRP            X0, #off_6C1474DED8@PAGE</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3B4 00 6C 47 F9             LDR             X0, [X0,#off_6C1474DED8@PAGEOFF] ; void *</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3B8 E6 19 01 94             BL              memcmp_sub_6F738E3B50</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3B8</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3BC 1F 04 00 31             CMN             W0, #1</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3C0 A0 04 00 54             B.EQ            loc_6C1466A454</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3C0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3C4 A0 83 5A F8             LDUR            X0, [X29,#var_58]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3C8 01 80 5E F8             LDUR            X1, [X0,#-0x18]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3CC E2 83 00 91             ADD             X2, SP, #0xC0+var_A0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3D0 F5 24 01 94             BL              mp_cmp_d_sub_6F738E67A4 ; 初始化rsa pub</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3D0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3D4 00 04 00 35             CBNZ            W0, loc_6C1466A454</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3D4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3D8 E8 03 16 32             MOV             W8, #0x400</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3DC A8 02 00 B9             STR             W8, [X21]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3E0 88 06 40 F9             LDR             X8, [X20,#8]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3E4 08 99 40 F9             LDR             X8, [X8,#0x130]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3E8 E0 03 16 32             MOV             W0, #0x400</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3EC 00 01 3F D6             BLR             X8</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3EC</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3F0 88 06 40 F9             LDR             X8, [X20,#8]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3F4 A2 02 80 B9             LDRSW           X2, [X21]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3F8 F7 03 00 AA             MOV             X23, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A3FC 08 91 40 F9             LDR             X8, [X8,#0x120]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A400 E1 03 1F 2A             MOV             W1, WZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A404 00 01 3F D6             BLR             X8</span></code><code><span class="code-snippet_outer">.text:0000006C1466A404</span></code><code><span class="code-snippet_outer">.text:0000006C1466A408 E8 83 00 91             ADD             X8, SP, #0xC0+var_A0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A40C E9 03 00 32             MOV             W9, #1</span></code><code><span class="code-snippet_outer">.text:0000006C1466A410 E1 03 1C 32             MOV             W1, #0x10</span></code><code><span class="code-snippet_outer">.text:0000006C1466A414 E0 03 16 AA             MOV             X0, X22</span></code><code><span class="code-snippet_outer">.text:0000006C1466A418 E2 03 17 AA             MOV             X2, X23</span></code><code><span class="code-snippet_outer">.text:0000006C1466A41C E3 03 15 AA             MOV             X3, X21</span></code><code><span class="code-snippet_outer">.text:0000006C1466A420 E4 03 1F AA             MOV             X4, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A424 E5 03 1F AA             MOV             X5, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A428 E6 03 1F AA             MOV             X6, XZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A42C E7 03 1F 2A             MOV             W7, WZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A430 E8 0B 00 F9             STR             X8, [SP,#0xC0+var_B0]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A434 E9 0B 00 B9             STR             W9, [SP,#0xC0+var_B8]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A438 FF 03 00 B9             STR             WZR, [SP,#0xC0+var_C0]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A43C C6 23 01 94             BL              RSA_ENC_KEY_sub_6F738E6354</span></code><code><span class="code-snippet_outer">.text:0000006C1466A43C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A440 E0 02 00 34             CBZ             W0, loc_6C1466A49C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A440</span></code><code><span class="code-snippet_outer">.text:0000006C1466A444 88 06 40 F9             LDR             X8, [X20,#8]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A448 08 9D 40 F9             LDR             X8, [X8,#0x138]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A44C E0 03 17 AA             MOV             X0, X23</span></code><code><span class="code-snippet_outer">.text:0000006C1466A450 00 01 3F D6             BLR             X8</span></code><code><span class="code-snippet_outer">.text:0000006C1466A450</span></code><code><span class="code-snippet_outer">.text:0000006C1466A454</span></code><code><span class="code-snippet_outer">.text:0000006C1466A454                         loc_6C1466A454                ; CODE XREF: RSA_Enc_AESKEY_sub_6F7389D300+C0↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A454                                                       ; RSA_Enc_AESKEY_sub_6F7389D300+D4↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A454 E0 03 1F 2A             MOV             W0, WZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A454</span></code><code><span class="code-snippet_outer">.text:0000006C1466A458</span></code><code><span class="code-snippet_outer">.text:0000006C1466A458                         loc_6C1466A458                ; CODE XREF: RSA_Enc_AESKEY_sub_6F7389D300+1AC↓j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A458 A9 83 5A F8             LDUR            X9, [X29,#var_58]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A45C 02 00 00 14             B               loc_6C1466A464</span></code><code><span class="code-snippet_outer">.text:0000006C1466A45C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A460                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:0000006C1466A460</span></code><code><span class="code-snippet_outer">.text:0000006C1466A460                         loc_6C1466A460                ; CODE XREF: RSA_Enc_AESKEY_sub_6F7389D300+5C↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A460 E0 03 1F 2A             MOV             W0, WZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A460</span></code><code><span class="code-snippet_outer">.text:0000006C1466A464</span></code><code><span class="code-snippet_outer">.text:0000006C1466A464                         loc_6C1466A464                ; CODE XREF: RSA_Enc_AESKEY_sub_6F7389D300+15C↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A464 28 61 00 D1             SUB             X8, X9, #0x18</span></code><code><span class="code-snippet_outer">.text:0000006C1466A468 1F 01 18 EB             CMP             X8, X24</span></code><code><span class="code-snippet_outer">.text:0000006C1466A46C 21 02 00 54             B.NE            loc_6C1466A4B0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A46C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A470</span></code><code><span class="code-snippet_outer">.text:0000006C1466A470                         loc_6C1466A470                ; CODE XREF: RSA_Enc_AESKEY_sub_6F7389D300+34↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A470                                                       ; RSA_Enc_AESKEY_sub_6F7389D300+3C↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A470                                                       ; RSA_Enc_AESKEY_sub_6F7389D300+44↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A470                                                       ; RSA_Enc_AESKEY_sub_6F7389D300+208↓j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A470                                                       ; RSA_Enc_AESKEY_sub_6F7389D300+220↓j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A470 28 17 40 F9             LDR             X8, [X25,#0x28]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A474 A9 83 5B F8             LDUR            X9, [X29,#var_48]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A478 1F 01 09 EB             CMP             X8, X9</span></code><code><span class="code-snippet_outer">.text:0000006C1466A47C 41 06 00 54             B.NE            loc_6C1466A544</span></code><code><span class="code-snippet_outer">.text:0000006C1466A47C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A480 FD 7B 4C A9             LDP             X29, X30, [SP,#0xC0+var_s0]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A484 F4 4F 4B A9             LDP             X20, X19, [SP,#0xC0+var_10]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A488 F6 57 4A A9             LDP             X22, X21, [SP,#0xC0+var_20]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A48C F8 5F 49 A9             LDP             X24, X23, [SP,#0xC0+var_30]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A490 F9 43 40 F9             LDR             X25, [SP,#0xC0+var_40]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A494 FF 43 03 91             ADD             SP, SP, #0xD0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A498 C0 03 5F D6             RET</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">公钥</span></code><code><span class="code-snippet_outer">30818902818100B4BD599215C5B62E4EFD19ECF5380F7B3C16FE805E2FCC6CA88D3827805F7EA910C608985A78019234231DD649D89A6EBF0D6F0980B4CF4554BB759B2F1CE7DBE30750ADECA5626BD02491E12070803A7CAC74F5A58053AB202533A5E16FDF82FD2E26699992A25DEE91B8DF9E4AED7120ADB3AEFC2D25F956FC001F753FFEB30203010001</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>5.3、bae64加密RSA加密后AES KEY</strong></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:0000006C1466A60C F8 5F BC A9             STP             X24, X23, [SP,#-0x10+var_30]!</span></code><code><span class="code-snippet_outer">.text:0000006C1466A610 F6 57 01 A9             STP             X22, X21, [SP,#0x30+var_20]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A614 F4 4F 02 A9             STP             X20, X19, [SP,#0x30+var_10]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A618 FD 7B 03 A9             STP             X29, X30, [SP,#0x30+var_s0]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A61C FD C3 00 91             ADD             X29, SP, #0x30</span></code><code><span class="code-snippet_outer">.text:0000006C1466A620 F4 03 00 AA             MOV             X20, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A624 5F 04 00 71             CMP             W2, #1</span></code><code><span class="code-snippet_outer">.text:0000006C1466A628 E0 03 1F 2A             MOV             W0, WZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A62C 4B 05 00 54             B.LT            loc_6C1466A6D4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A62C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A630 F6 03 01 AA             MOV             X22, X1</span></code><code><span class="code-snippet_outer">.text:0000006C1466A634 01 05 00 B4             CBZ             X1, loc_6C1466A6D4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A634</span></code><code><span class="code-snippet_outer">.text:0000006C1466A638 F3 03 03 AA             MOV             X19, X3</span></code><code><span class="code-snippet_outer">.text:0000006C1466A63C C3 04 00 B4             CBZ             X3, loc_6C1466A6D4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A63C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A640 C9 AA 8A 52             MOV             W9, #0x5556</span></code><code><span class="code-snippet_outer">.text:0000006C1466A644 48 08 00 11             ADD             W8, W2, #2</span></code><code><span class="code-snippet_outer">.text:0000006C1466A648 A9 AA AA 72             MOVK            W9, #0x5555,LSL#16</span></code><code><span class="code-snippet_outer">.text:0000006C1466A64C 08 7D 29 9B             SMULL           X8, W8, W9</span></code><code><span class="code-snippet_outer">.text:0000006C1466A650 09 FD 7F D3             LSR             X9, X8, #0x3F ; &#39;?&#39;</span></code><code><span class="code-snippet_outer">.text:0000006C1466A654 08 FD 60 D3             LSR             X8, X8, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">.text:0000006C1466A658 08 01 09 0B             ADD             W8, W8, W9</span></code><code><span class="code-snippet_outer">.text:0000006C1466A65C E9 03 00 32             MOV             W9, #1</span></code><code><span class="code-snippet_outer">.text:0000006C1466A660 09 75 1E 33             BFI             W9, W8, #2, #0x1E</span></code><code><span class="code-snippet_outer">.text:0000006C1466A664 89 00 00 B9             STR             W9, [X4]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A668 88 06 40 F9             LDR             X8, [X20,#8]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A66C 20 7D 40 93             SXTW            X0, W9</span></code><code><span class="code-snippet_outer">.text:0000006C1466A670 F5 03 04 AA             MOV             X21, X4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A674 F7 03 02 2A             MOV             W23, W2</span></code><code><span class="code-snippet_outer">.text:0000006C1466A678 08 99 40 F9             LDR             X8, [X8,#0x130]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A67C 00 01 3F D6             BLR             X8            ; malloc</span></code><code><span class="code-snippet_outer">.text:0000006C1466A67C</span></code><code><span class="code-snippet_outer">.text:0000006C1466A680 A0 02 00 B4             CBZ             X0, loc_6C1466A6D4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A680</span></code><code><span class="code-snippet_outer">.text:0000006C1466A684 88 06 40 F9             LDR             X8, [X20,#8]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A688 A2 02 80 B9             LDRSW           X2, [X21]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A68C E1 03 1F 2A             MOV             W1, WZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A690 F8 03 00 AA             MOV             X24, X0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A694 08 91 40 F9             LDR             X8, [X8,#0x120]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A698 00 01 3F D6             BLR             X8</span></code><code><span class="code-snippet_outer">.text:0000006C1466A698</span></code><code><span class="code-snippet_outer">.text:0000006C1466A69C E1 7E 40 93             SXTW            X1, W23</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6A0 E0 03 16 AA             MOV             X0, X22</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6A4 E2 03 18 AA             MOV             X2, X24</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6A8 E3 03 15 AA             MOV             X3, X21</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6AC 93 18 01 94             BL              BASE64_sub_6F738E38F8</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6AC</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6B0 E0 00 00 34             CBZ             W0, loc_6C1466A6CC</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6B0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6B4 88 06 40 F9             LDR             X8, [X20,#8]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6B8 E0 03 18 AA             MOV             X0, X24</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6BC 08 9D 40 F9             LDR             X8, [X8,#0x138]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6C0 00 01 3F D6             BLR             X8</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6C0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6C4 E0 03 1F 2A             MOV             W0, WZR</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6C8 03 00 00 14             B               loc_6C1466A6D4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6C8</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6CC</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6CC                         loc_6C1466A6CC                ; CODE XREF: base64_sub_6F7389D60C+A4↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6CC 78 02 00 F9             STR             X24, [X19]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D0 E0 03 00 32             MOV             W0, #1</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D0</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D4</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D4                         loc_6C1466A6D4                ; CODE XREF: base64_sub_6F7389D60C+20↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D4                                                       ; base64_sub_6F7389D60C+28↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D4                                                       ; base64_sub_6F7389D60C+30↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D4                                                       ; base64_sub_6F7389D60C+74↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D4                                                       ; base64_sub_6F7389D60C+BC↑j</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D4 FD 7B 43 A9             LDP             X29, X30, [SP,#0x30+var_s0]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6D8 F4 4F 42 A9             LDP             X20, X19, [SP,#0x30+var_10]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6DC F6 57 41 A9             LDP             X22, X21, [SP,#0x30+var_20]</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6E0 F8 5F C4 A8             LDP             X24, X23, [SP+0x30+var_30],#0x40</span></code><code><span class="code-snippet_outer">.text:0000006C1466A6E4 C0 03 5F D6             RET</span></code></pre></section><h3 style="line-height: 28px;margin-top: 16px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);"><strong>六、协议还原</strong></span></h3><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>6.1、AES还原</strong></span></p><p style="min-height: 24px;">标准AES算法</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="java"><code><span class="code-snippet_outer">    <span class="code-snippet__comment">/**</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     * AES加密</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     *</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     * <span class="code-snippet__doctag">@param</span> content</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     *            需要被加密的字符串</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     * <span class="code-snippet__doctag">@param</span> password</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     *            加密需要的密码</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     * <span class="code-snippet__doctag">@return</span> 密文</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     */</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">byte</span>[] encrypt(String content, String password) {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">try</span> {</span></code><code><span class="code-snippet_outer">            KeyGenerator kgen = KeyGenerator.getInstance(<span class="code-snippet__string">&#34;AES&#34;</span>);</span></code><code><span class="code-snippet_outer">            kgen.init(<span class="code-snippet__number">128</span>, <span class="code-snippet__keyword">new</span> SecureRandom(password.getBytes()));</span></code><code><span class="code-snippet_outer">            SecretKey secretKey = kgen.generateKey();</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">byte</span>[] enCodeFormat = secretKey.getEncoded();</span></code><code><span class="code-snippet_outer">            SecretKeySpec key = <span class="code-snippet__keyword">new</span> SecretKeySpec(enCodeFormat, <span class="code-snippet__string">&#34;AES&#34;</span>);</span></code><code><span class="code-snippet_outer">            Cipher cipher = Cipher.getInstance(<span class="code-snippet__string">&#34;AES&#34;</span>);</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">byte</span>[] byteContent = content.getBytes(<span class="code-snippet__string">&#34;utf-8&#34;</span>);</span></code><code><span class="code-snippet_outer">            cipher.init(Cipher.ENCRYPT_MODE, key);</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">byte</span>[] result = cipher.doFinal(byteContent);</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">return</span> result;</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (NoSuchPaddingException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (NoSuchAlgorithmException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (UnsupportedEncodingException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (InvalidKeyException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (IllegalBlockSizeException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (BadPaddingException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> <span class="code-snippet__keyword">null</span>;</span></code><code><span class="code-snippet_outer">    }</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>6.2、RSA公钥转换</strong></span></p><p style="min-height: 24px;">从内存中提取出来的RSA公钥是pkcs#1格式需要转换成pkcs#8格式方便java使用。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">    <span class="code-snippet__function"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">byte</span>[] <span class="code-snippet__title">formatPublicKeyPKCS1ToPKCS8</span>(<span class="code-snippet__params"><span class="code-snippet__keyword">byte</span>[] pkcs1PublicKeyByte</span>)</span> {</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        RSAPublicKey rsaPub = RSAPublicKey.getInstance(pkcs1PublicKeyByte);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">byte</span>[] pkcs8Bytes = <span class="code-snippet__literal">null</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">try</span> {</span></code><code><span class="code-snippet_outer">            KeyFactory kf = KeyFactory.getInstance(<span class="code-snippet__string">&#34;RSA&#34;</span>);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            PublicKey generatePublic = kf.generatePublic(<span class="code-snippet__keyword">new</span> RSAPublicKeySpec(rsaPub.getModulus(), rsaPub.getPublicExponent()));</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            pkcs8Bytes = generatePublic.getEncoded();</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (NoSuchAlgorithmException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (InvalidKeySpecException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> pkcs8Bytes;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">byte</span>[] messageEncodeBytes = <span class="code-snippet__keyword">new</span> <span class="code-snippet__keyword">byte</span>[<span class="code-snippet__number">2048</span>];</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__comment">//pkcs#1 格式</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">byte</span>[] RsaPubbuffer = <span class="code-snippet__keyword">new</span> <span class="code-snippet__keyword">byte</span>[]{</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__number">0x30</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x81</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x89</span>, <span class="code-snippet__number">0x02</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x81</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x81</span>, <span class="code-snippet__number">0x00</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xB4</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xBD</span>, <span class="code-snippet__number">0x59</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x92</span>, <span class="code-snippet__number">0x15</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xC5</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xB6</span>, <span class="code-snippet__number">0x2E</span>, <span class="code-snippet__number">0x4E</span>,</span></code><code><span class="code-snippet_outer">                (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xFD</span>, <span class="code-snippet__number">0x19</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xEC</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xF5</span>, <span class="code-snippet__number">0x38</span>, <span class="code-snippet__number">0x0F</span>, <span class="code-snippet__number">0x7B</span>, <span class="code-snippet__number">0x3C</span>, <span class="code-snippet__number">0x16</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xFE</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x80</span>, <span class="code-snippet__number">0x5E</span>, <span class="code-snippet__number">0x2F</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xCC</span>, <span class="code-snippet__number">0x6C</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xA8</span>,</span></code><code><span class="code-snippet_outer">                (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x8D</span>, <span class="code-snippet__number">0x38</span>, <span class="code-snippet__number">0x27</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x80</span>, <span class="code-snippet__number">0x5F</span>, <span class="code-snippet__number">0x7E</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xA9</span>, <span class="code-snippet__number">0x10</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xC6</span>, <span class="code-snippet__number">0x08</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x98</span>, <span class="code-snippet__number">0x5A</span>, <span class="code-snippet__number">0x78</span>, <span class="code-snippet__number">0x01</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x92</span>, <span class="code-snippet__number">0x34</span>,</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__number">0x23</span>, <span class="code-snippet__number">0x1D</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xD6</span>, <span class="code-snippet__number">0x49</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xD8</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x9A</span>, <span class="code-snippet__number">0x6E</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xBF</span>, <span class="code-snippet__number">0x0D</span>, <span class="code-snippet__number">0x6F</span>, <span class="code-snippet__number">0x09</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x80</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xB4</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xCF</span>, <span class="code-snippet__number">0x45</span>, <span class="code-snippet__number">0x54</span>,</span></code><code><span class="code-snippet_outer">                (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xBB</span>, <span class="code-snippet__number">0x75</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x9B</span>, <span class="code-snippet__number">0x2F</span>, <span class="code-snippet__number">0x1C</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xE7</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xDB</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xE3</span>, <span class="code-snippet__number">0x07</span>, <span class="code-snippet__number">0x50</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xAD</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xEC</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xA5</span>, <span class="code-snippet__number">0x62</span>, <span class="code-snippet__number">0x6B</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xD0</span>,</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__number">0x24</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x91</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xE1</span>, <span class="code-snippet__number">0x20</span>, <span class="code-snippet__number">0x70</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x80</span>, <span class="code-snippet__number">0x3A</span>, <span class="code-snippet__number">0x7C</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xAC</span>, <span class="code-snippet__number">0x74</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xF5</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xA5</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x80</span>, <span class="code-snippet__number">0x53</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xAB</span>, <span class="code-snippet__number">0x20</span>,</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__number">0x25</span>, <span class="code-snippet__number">0x33</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xA5</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xE1</span>, <span class="code-snippet__number">0x6F</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xDF</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x82</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xFD</span>, <span class="code-snippet__number">0x2E</span>, <span class="code-snippet__number">0x26</span>, <span class="code-snippet__number">0x69</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x99</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x92</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xA2</span>, <span class="code-snippet__number">0x5D</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xEE</span>,</span></code><code><span class="code-snippet_outer">                (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x91</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xB8</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xDF</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0x9E</span>, <span class="code-snippet__number">0x4A</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xED</span>, <span class="code-snippet__number">0x71</span>, <span class="code-snippet__number">0x20</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xAD</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xB3</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xAE</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xFC</span>, <span class="code-snippet__number">0x2D</span>, <span class="code-snippet__number">0x25</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xF9</span>, <span class="code-snippet__number">0x56</span>,</span></code><code><span class="code-snippet_outer">                (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xFC</span>, <span class="code-snippet__number">0x00</span>, <span class="code-snippet__number">0x1F</span>, <span class="code-snippet__number">0x75</span>, <span class="code-snippet__number">0x3F</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xFE</span>, (<span class="code-snippet__keyword">byte</span>) <span class="code-snippet__number">0xB3</span>, <span class="code-snippet__number">0x02</span>, <span class="code-snippet__number">0x03</span>, <span class="code-snippet__number">0x01</span>, <span class="code-snippet__number">0x00</span>, <span class="code-snippet__number">0x01</span>};</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">byte</span>[] pkcs8 = RsaPkcsTransformer.formatPublicKeyPKCS1ToPKCS8(RsaPubbuffer);</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>6.3、RSA加加密AES AEY</strong></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="php"><code><span class="code-snippet_outer"><span class="code-snippet__comment">/**</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">* 公钥加密过程</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">*</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">* <span class="code-snippet__doctag">@param</span> publicKey 公钥</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">* <span class="code-snippet__doctag">@param</span> plainTextData 明文数据</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">* <span class="code-snippet__doctag">@return</span></span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">* <span class="code-snippet__doctag">@throws</span> Exception 加密过程中的异常信息</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">*/</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> byte[] encrypt(RSAPublicKey publicKey, byte[] plainTextData) throws <span class="code-snippet__keyword">Exception</span> {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (publicKey == <span class="code-snippet__keyword">null</span>) {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">throw</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__keyword">Exception</span>(<span class="code-snippet__string">&#34;加密公钥为空, 请设置&#34;</span>);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    Cipher cipher = <span class="code-snippet__keyword">null</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">try</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__comment">// 使用默认RSA</span></span></code><code><span class="code-snippet_outer">        cipher = Cipher.getInstance(<span class="code-snippet__string">&#34;RSA&#34;</span>);</span></code><code><span class="code-snippet_outer">        cipher.init(Cipher.ENCRYPT_MODE, publicKey);</span></code><code><span class="code-snippet_outer">        byte[] output = cipher.doFinal(plainTextData);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> output;</span></code><code><span class="code-snippet_outer">    } <span class="code-snippet__keyword">catch</span> (NoSuchAlgorithmException e) {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">throw</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__keyword">Exception</span>(<span class="code-snippet__string">&#34;无此加密算法&#34;</span>);</span></code><code><span class="code-snippet_outer">    } <span class="code-snippet__keyword">catch</span> (NoSuchPaddingException e) {</span></code><code><span class="code-snippet_outer">        e.printStackTrace();</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> <span class="code-snippet__keyword">null</span>;</span></code><code><span class="code-snippet_outer">    } <span class="code-snippet__keyword">catch</span> (InvalidKeyException e) {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">throw</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__keyword">Exception</span>(<span class="code-snippet__string">&#34;加密公钥非法,请检查&#34;</span>);</span></code><code><span class="code-snippet_outer">    } <span class="code-snippet__keyword">catch</span> (IllegalBlockSizeException e) {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">throw</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__keyword">Exception</span>(<span class="code-snippet__string">&#34;明文长度非法&#34;</span>);</span></code><code><span class="code-snippet_outer">    } <span class="code-snippet__keyword">catch</span> (BadPaddingException e) {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">throw</span> <span class="code-snippet__keyword">new</span> <span class="code-snippet__keyword">Exception</span>(<span class="code-snippet__string">&#34;明文数据已损坏&#34;</span>);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">try</span> {</span></code><code><span class="code-snippet_outer">            RSAPublicKey Pubpcks1 = (RSAPublicKey) RsaPkcsTransformer.formatPKCS8PublicKey(pkcs8);</span></code><code><span class="code-snippet_outer">            messageEncodeBytes = RSAUtils.encrypt( Pubpcks1, aeskey.getBytes());</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (<span class="code-snippet__keyword">Exception</span> e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> messageEncodeBytes;</span></code><code><span class="code-snippet_outer">最后再base64加密</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>6.4、加密采集的设备数据</strong></span></p><p style="min-height: 24px;">AES加密后base64加加密</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="typescript"><code><span class="code-snippet_outer">    <span class="code-snippet__comment">//AES加密设备信息数据</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__built_in">String</span> EncDeviceinfo(<span class="code-snippet__built_in">String</span> deviceinfo, <span class="code-snippet__built_in">String</span> key){</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">String</span> ret  = <span class="code-snippet__string">&#34;&#34;</span>;</span></code><code><span class="code-snippet_outer">        byte[] encdeviceinfo  = AESUtil.encrypt(deviceinfo, key);</span></code><code><span class="code-snippet_outer">        ret = Base64.encode(encdeviceinfo);</span></code><code><span class="code-snippet_outer">        System.out.println(<span class="code-snippet__string">&#34;\r\nEncDeviceinfo:\n&#34;</span>+ret);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> ret;</span></code><code><span class="code-snippet_outer">    }</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);"><strong>6.5、发送服务器返回设备指纹</strong></span></p><p style="min-height: 24px;">将加密后的设备信息组合发送给服务器，服务器返回设备指纹。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">    <span class="code-snippet__function"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> String <span class="code-snippet__title">doPost</span>(<span class="code-snippet__params">String serurl, <span class="code-snippet__keyword">byte</span>[] body</span>) throws MalformedURLException, HttpException</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">int</span> code = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">if</span> (<span class="code-snippet__literal">null</span> == body || serurl.isEmpty() || serurl.<span class="code-snippet__keyword">equals</span>(<span class="code-snippet__string">&#34;&#34;</span>)) {</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">return</span> <span class="code-snippet__literal">null</span>;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        Builder builder = <span class="code-snippet__keyword">new</span> Builder();</span></code><code><span class="code-snippet_outer">        HttpUtil httpclient = builder.build(serurl);</span></code><code><span class="code-snippet_outer">        HttpResponse response = httpclient.post(body);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">if</span> (<span class="code-snippet__literal">null</span> != response){</span></code><code><span class="code-snippet_outer">            code = response.code;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        System.<span class="code-snippet__keyword">out</span>.println(<span class="code-snippet__string">&#34;doRequest code :&#34;</span>+code);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> response.getString();</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">try</span> {</span></code><code><span class="code-snippet_outer">           String ret =  HttpUtil.doPost(<span class="code-snippet__string">&#34;<a href="https://ac.dun.xxxyun.com/v2/m/d" target="_blank">https://ac.dun.xxxyun.com/v2/m/d</a>&#34;</span>, encBody.getBytes());</span></code><code><span class="code-snippet_outer">           System.<span class="code-snippet__keyword">out</span>.print(<span class="code-snippet__string">&#34;ret: &#34;</span>+ret);</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (MalformedURLException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (HttpException e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">        }</span></code></pre></section><p style="min-height: 24px;">通过还原的协议模拟，服务器成功返回</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{<span class="code-snippet__attr">&#34;code&#34;</span>:<span class="code-snippet__number">200</span>,<span class="code-snippet__attr">&#34;msg&#34;</span>:<span class="code-snippet__string">&#34;ok&#34;</span>,<span class="code-snippet__attr">&#34;result&#34;</span>:{<span class="code-snippet__attr">&#34;timestamp&#34;</span>:<span class="code-snippet__number">1675833206592</span>,<span class="code-snippet__attr">&#34;tid&#34;</span>:<span class="code-snippet__string">&#34;jBqlPTfZupNAUUUUUBOAeE37P0ZsamVQ&#34;</span>,<span class="code-snippet__attr">&#34;dt&#34;</span>:<span class="code-snippet__string">&#34;Zl/zPvkXgopBAEBEAReROVmuK0Y8PmQV&#34;</span>,<span class="code-snippet__attr">&#34;ni&#34;</span>:<span class="code-snippet__string">&#34;JyR+on5ZMtDZRV1lDWN+BiDWM3/osPKRJ4ZhDIMMuzbXVliI40BIsN7x0aETYmEZQU8\u003d&#34;</span>}}</span></code></pre></section><h3 style="line-height: 28px;margin-top: 16px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);"><strong>七、总结</strong></span></h3><p style="min-height: 24px;">移动端反作弊其中最重要的是能够唯一标识一台设备，是否够精确定位一个设备才能与其它设备数据、行为数据进行关联，从而判断一个设备的风险，设备指纹作为风控对抗的基础，判断其是否优质最重要指标是唯一性和稳定性。亿盾指纹从安卓11以后指纹稳定性相对较差，主要原因是几个关键的指纹生成特征未能获取到。</p><p style="min-height: 24px;">其中一些关键的信息采集svc 0方式获取，能防止常见的改机工具，但是深度ROM定制与更底层的改机很难防止。</p><p>样本获取方式，关注公众号，公众号输入框回复“xp” 获取下载链接。</p><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="2247484103">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=7233a00b&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247484103%26idx%3D1%26sn%3D9fd6ed1a532c8d3e7a0bcf50cc4fc970%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sat, 11 Feb 2023 12:30:00 +0800</pubDate>
    </item>
    <item>
      <title>汽车APP产品分析-亿盾加固</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247484096&amp;idx=1&amp;sn=3cd117e46960842fd2a59e02bf8941e1</link>
      <description>代码安全只是表面，核心是帮助客户满足业务不被阻断、关键数据资产不被窃取的安全需求。因为加固自身不创造价值，加固的价值必须和公司业务挂钩，来间接体现。通过安全体系建立为业务服务保障，增加收益与减少了资损率。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2023-01-29 12:30</span> <span style="display: inline-block;">贵州</span>
</p>

<p>代码安全只是表面，核心是帮助客户满足业务不被阻断、关键数据资产不被窃取的安全需求。因为加固自身不创造价值，加固的价值必须和公司业务挂钩，来间接体现。通过安全体系建立为业务服务保障，增加收益与减少了资损率。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=d39b62d4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWkUhVB1uNSpDjibnAl0TGtXEabYNwTibE2HBMvj1KzSIM4hYkV8VWCKibO8Uotq9mBw0ItOyYVBGqMg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang=""><code><span class="code-snippet_outer">目录</span></code><code><span class="code-snippet_outer">一、前言</span></code><code><span class="code-snippet_outer">二、加固整体构架</span></code><code><span class="code-snippet_outer">三、壳java层分析</span></code><code><span class="code-snippet_outer">四、壳so静态分析</span></code><code><span class="code-snippet_outer">五、壳so动态分析</span></code><code><span class="code-snippet_outer">六、脱壳二次打包</span></code><code><span class="code-snippet_outer">七、总结</span></code></pre></section><h2 style="font-size: 24px;line-height: 32px;margin-top: 21px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);">一、<span style="background-color: rgb(254, 254, 254);">前言</span></span></h2><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">1.1、app加固的本质</span></p><p style="min-height: 24px;">代码安全只是表面，核心是帮助客户满足业务不被阻断、关键数据资产不被窃取的安全需求。因为加固自身不创造价值，加固的价值必须和公司业务挂钩，来间接体现。通过安全体系建立为业务服务保障，增加收益与减少了资损率。</p><p style="min-height: 24px;">1.2、不同视角看加固</p><p style="min-height: 24px;"><span style="font-size: 16px;">切换立场、改变视角来看APP加固，因为</span>对一件事的不同面，每一面都能看到的不同的东西。</p><p style="min-height: 24px;">用户视角：更多的是关注功能使用与交互体验，看到的是表现层的功能和交互。所以对于C端用户而言，很难感知其存在价值。</p><p style="min-height: 24px;">产品视角：关注产品本身体验与价值而考量，看到的是需求、方案、价值。</p><p style="min-height: 24px;">技术视角：关注技术成本和可扩展性与安全性，看到的是架构、实现、可扩展、安全性。能感知到安全加固的重要性，但是更多的是从技术实现角度出发。</p><p style="min-height: 24px;">业务视角：保障业务正常运营，看到的是成本和收益。</p><p style="min-height: 24px;">所以，视角不同，观点不同，加固决策不同，安全程度也不同。</p><p style="min-height: 24px;">有了上面这些铺垫，接下来你看完文章后大概不会觉得这样的方案很奇怪，这是计划的一部分。</p><h2 style="font-size: 24px;line-height: 32px;margin-top: 21px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);">二、加固整体架构</span></h2><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">2.1、加固架构</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.634375" data-s="300,640" style="" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=4ef89cd4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWBCCnSiaiagK0jOVYKRuV5ictqCFNNAonsRCIQK7iaRX7WU4uMQ69sKKa52YibXiafibaVjZedBz7j17dPA%2F640%3Fwx_fmt%3Djpeg"/></p><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">2.2、解壳过程</span></p><p style="min-height: 24px;text-align: left;"><span style="color: rgb(34, 34, 34);font-size: 14px;">壳加载运行起来后是解密原始dex与启动加载APP Application过程，完成一系列的工作：</span></p><p style="min-height: 24px;"><strong><span style="color: rgb(62, 62, 62);font-size: 14px;">解密原apk的dex集合</span></strong></p><p style="min-height: 24px;"><span style="color: rgb(62, 62, 62);font-size: 14px;">使用加密过程中对应的算法进行解密每个dex文件。</span></p><p style="min-height: 24px;"><strong><span style="color: rgb(62, 62, 62);font-size: 14px;">将解密之后的dex集合添加到dexElements数组</span></strong></p><p style="min-height: 24px;"><span style="color: rgb(62, 62, 62);font-size: 14px;">通过反射将解密的dex集合添加到dexElements数组。</span></p><p style="min-height: 24px;"><strong><span style="color: rgb(62, 62, 62);font-size: 14px;">动态加载原apk的Application</span></strong></p><p style="min-height: 24px;"><span style="color: rgb(62, 62, 62);font-size: 14px;">原apk的Application在加密过程被替换成解密壳的Application，因此需要在加载壳过程中还原该操作。</span></p><h2 style="font-size: 24px;line-height: 32px;margin-top: 21px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);">三、壳java层分析</span></h2><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">3.1、attachBaseContext</span></p><p style="min-height: 24px;"><span style="color: rgb(34, 34, 34);">so释放与加载在创建APP进程加载Application之前，完成解压缩释放到lib目录、</span>System.loadLibrary(&#34;nesec&#34;)加载so到内存并在MyJni类中注册了如下几个jni方法：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="java"><code><span class="code-snippet_outer">public static native void cp();</span></code><code><span class="code-snippet_outer">public static native void d(String arg0);</span></code><code><span class="code-snippet_outer">public static native void e(String arg0);</span></code><code><span class="code-snippet_outer">public static native boolean load(Application arg0, String arg1);</span></code><code><span class="code-snippet_outer">public static native boolean load2(Application arg0, String arg1);</span></code><code><span class="code-snippet_outer">public static native boolean run(Context arg0, Application arg1);</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">3.2、native load 加载dex</span></p><p style="min-height: 24px;">加载完so后调用注册好的native方法load解密dex并加载到内内存，dex加载的过程大到为<span style="color: rgb(34, 34, 34);">dex文件解密及将解密的dex集合添加到</span><span style="color: rgb(62, 62, 62);">dexElements数组</span><span style="color: rgb(34, 34, 34);">。</span></p><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">3.3、原Application</span></p><p style="min-height: 24px;">加载完dex后要从原APP的Application运行，代码如下：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="kotlin"><code><span class="code-snippet_outer">public static String strAppName;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">static {</span></code><code><span class="code-snippet_outer">    MyApplication.TAG = &#34;wrapper&#34;;</span></code><code><span class="code-snippet_outer">    MyApplication.strAppName = &#34;com.netease.nis.wrapper.MyApplication&#34;;</span></code><code><span class="code-snippet_outer">    MyApplication.a = null;</span></code><code><span class="code-snippet_outer">    MyApplication.b = null;</span></code><code><span class="code-snippet_outer">    MyApplication.newApp = null;</span></code><code><span class="code-snippet_outer">    MyApplication.mOfficial = true;</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer">private static Application a(Context arg2) {</span></code><code><span class="code-snippet_outer">    try {</span></code><code><span class="code-snippet_outer">    if(MyApplication.newApp != null || MyApplication.strAppName.compareTo(&#34;&#34;) == 0) {</span></code><code><span class="code-snippet_outer">        return MyApplication.newApp;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    ClassLoader v0_1 = arg2.getClassLoader();</span></code><code><span class="code-snippet_outer">    if(v0_1 == null) {</span></code><code><span class="code-snippet_outer">        return MyApplication.newApp;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    Class v0_2 = v0_1.loadClass(MyApplication.strAppName);</span></code><code><span class="code-snippet_outer">    if(v0_2 != null) {</span></code><code><span class="code-snippet_outer">        MyApplication.newApp = (Application)v0_2.newInstance();</span></code><code><span class="code-snippet_outer">        return MyApplication.newApp;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer">catch(Exception v0) {</span></code><code><span class="code-snippet_outer">    v0.toString();</span></code><code><span class="code-snippet_outer">    return MyApplication.newApp;</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">return MyApplication.newApp;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p style="min-height: 24px;text-align: left;"><span style="color: rgb(62, 62, 62);font-size: 14px;">通过动态加载原app的Application并执行，具体流程如下：</span></p><p style="min-height: 24px;text-align: left;"><span style="color: rgb(62, 62, 62);font-size: 14px;">(1)通过Class.newInstance()创建一个Application实例；</span></p><p style="min-height: 24px;text-align: left;"><span style="color: rgb(62, 62, 62);font-size: 14px;"> (2)执行Application实例的attach()；</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">Application v0_7 = MyApplication.a(arg13);</span></code><code><span class="code-snippet_outer">MyApplication.newApp = v0_7;</span></code><code><span class="code-snippet_outer">if(v0_7 != null) {</span></code><code><span class="code-snippet_outer">    Method v0_8 = Application.class.getDeclaredMethod(&#34;attach&#34;, Context.class);</span></code><code><span class="code-snippet_outer">    if(v0_8 != null) {</span></code><code><span class="code-snippet_outer">        v0_8.setAccessible(true);</span></code><code><span class="code-snippet_outer">        try {</span></code><code><span class="code-snippet_outer">            v0_8.invoke(MyApplication.newApp, arg13);</span></code><code><span class="code-snippet_outer">            goto label_224;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        catch(InvocationTargetException v0_9) {</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        new StringBuilder(&#34;[attachBaseContext] InvocationTargetException:&#34;).append(v0_9);</span></code><code><span class="code-snippet_outer">        goto label_204;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h2 style="font-size: 24px;line-height: 32px;margin-top: 21px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);">四、壳so静态分析</span></h2><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">4.1、壳入口隐藏</span></p><p style="min-height: 24px;">按照我个人惯例，定位到壳so模块后首先<span style="color: rgb(0, 0, 0);background-color: rgb(254, 254, 254);">使用ida加载模块静态分析收集下信息(字符串，壳入口、导出方法)等，用ida打开后直接提示如图4-1所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.39921875" data-s="300,640" style="" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=a8d19df1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWkUhVB1uNSpDjibnAl0TGtXYGeGVS9vym86NHC4OaFWEmu5EVFshXDrFSPkcy8qibGvFYOPax8xjmQ%2F640%3Fwx_fmt%3Djpeg"/></p><p style="min-height: 24px;">                                图4-1</p><p style="min-height: 24px;">不用奇怪，这是节信息被处理过了，防止静态反编译，点击ok继续，查看导出函数时发现一堆乱码，如图4-2所示:</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.8171945701357466" data-s="300,640" style="" data-type="jpeg" data-w="1105" src="https://wechat2rss.xlab.app/img-proxy/?k=8cb8b34d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWkUhVB1uNSpDjibnAl0TGtXXLpZh2wQ1DzRmSCG0BmP31PZIo9ZJCBXtiaPsE6lpiaDDD2LBM2VPWQA%2F640%3Fwx_fmt%3Djpeg"/></p><p style="min-height: 24px;text-align: left;">                                图4-2<br/></p><p style="min-height: 24px;">应该是被加密处理了，查看节信息也找不到init_array节，如图4-3所示:</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.39609375" data-s="300,640" style="" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=65699e65&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWkUhVB1uNSpDjibnAl0TGtXRGDJ06ibBcl9DksLicKAiaLdrztw5bY8EmjGWJxsKFZA64S4wdr74G9rQ%2F640%3Fwx_fmt%3Djpeg"/></p><p style="min-height: 24px;"><span style="color: rgb(62, 62, 62);font-size: 14px;">                                图4-3</span></p><p style="min-height: 24px;">静态不好定位就动态定位壳入口，在内存中一切的隐藏都很难跳系统机制。</p><h2 style="font-size: 24px;line-height: 32px;margin-top: 21px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);">五、壳so动态分析</span></h2><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">5.1、壳入口定位</span></p><p style="min-height: 24px;">根据linker加载so流程中主要有两个点可以作为壳入口，init或<span style="color: rgba(0, 0, 0, 0.8);font-size: 16px;">init_array是so程序代码可以执行的最早的时机, 然后才加载Jni_onload</span><span style="color: rgb(33, 37, 41);font-size: 16px;">，只要在linker执行init进下断点就可以定位壳入口。如图5-1所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.48687552921253174" data-s="300,640" style="" data-type="jpeg" data-w="1181" src="https://wechat2rss.xlab.app/img-proxy/?k=92f6c0b8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWkUhVB1uNSpDjibnAl0TGtX7QaVoTyMaqITO8bQlicGhndtluPqibeuGUOzGVMt2CsnuUhopia07Y4jQ%2F640%3Fwx_fmt%3Djpeg"/></p><p style="min-height: 24px;">                                图5-1</p><p style="min-height: 24px;">定位到的init_array方法中有几个关键的地方，init_array3，解密Jni_OnLoad代码。如图5-2所示：</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.1375" data-s="300,640" style="" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=7f51c45c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWkUhVB1uNSpDjibnAl0TGtXtVJNiaCKXZzicBpwqyFZkaOcUhvjCmYNEIeIwtBS3gtORo7fZm4rF6Rg%2F640%3Fwx_fmt%3Djpeg"/></p><p style="min-height: 24px;">                                图5-2<br/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFD0                               dec_sub_7D26D97FD0            ; CODE XREF: dec_sub_7D26D98040+50↓p</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFD0 62 03 00 B4                   CBZ             X2, locret_782421E03C</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFD0</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFD4 05 00 80 52                   MOV             W5, #0</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFD8 22 00 02 8B                   ADD             X2, X1, X2</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFDC E6 03 05 2A                   MOV             W6, W5</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFDC</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFE0</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFE0                               loc_782421DFE0                ; CODE XREF: dec_sub_7D26D97FD0+68↓j</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFE0 C6 04 00 11                   ADD             W6, W6, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFE4 C6 1C 00 12                   AND             W6, W6, #0xFF</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFE8 C4 7C 40 93                   SXTW            X4, W6</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFEC 03 68 64 38                   LDRB            W3, [X0,X4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFF0 65 00 05 0B                   ADD             W5, W3, W5</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFF4 A5 1C 00 12                   AND             W5, W5, #0xFF</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFF8 A7 7C 40 93                   SXTW            X7, W5</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421DFFC 08 68 67 38                   LDRB            W8, [X0,X7]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E000 08 68 24 38                   STRB            W8, [X0,X4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E004 03 68 27 38                   STRB            W3, [X0,X7]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E008 04 68 64 38                   LDRB            W4, [X0,X4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E00C 27 00 40 39                   LDRB            W7, [X1]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E010 64 00 04 0B                   ADD             W4, W3, W4</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E014 84 1C 00 53                   UXTB            W4, W4</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E018 03 68 64 38                   LDRB            W3, [X0,X4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E01C 64 7C 02 53                   LSR             W4, W3, #2</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E020 83 18 03 2A                   ORR             W3, W4, W3,LSL#6</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E024 63 1C 00 53                   UXTB            W3, W3</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E028 63 E8 00 11                   ADD             W3, W3, #0x3A ; &#39;:&#39;</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E02C 63 00 07 4A                   EOR             W3, W3, W7</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E030 23 14 00 38                   STRB            W3, [X1],#1</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E034 3F 00 02 EB                   CMP             X1, X2</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000782421E038 41 FD FF 54                   B.NE            loc_782421DFE0</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">5.2、运行时加解密技术</span></p><p style="min-height: 24px;">运行时解密，运行后加密：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.note.gnu.text:00000071554361D4                         decCode_loc_71F33B41D4 </span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361D4 E4 2F 40 F9             LDR             X4, [SP,#arg_58]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361D8 44 0D 00 B4             CBZ             X4, loc_7155436380</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361D8</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361DC 80 40 00 D1             SUB             X0, X4, #0x10</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361E0 81 04 00 D1             SUB             X1, X4, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361E4 00 FC 44 D3             LSR             X0, X0, #4</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361E8 3F 38 00 F1             CMP             X1, #0xE</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361EC 00 04 00 91             ADD             X0, X0, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361F0 02 EC 7C D3             LSL             X2, X0, #4</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361F4 29 17 00 54             B.LS            loc_71554364D8</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361F4</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361F8 E1 0E 01 4E             DUP             V1.16B, W23</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554361FC E3 03 13 AA             MOV             X3, X19</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436200 01 00 80 D2             MOV             X1, #0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436200</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436204</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436204                         Dec_Enc_Code_loc_71F33B4204 </span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436204 60 00 C0 3D             LDR             Q0, [X3]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436208 21 04 00 91             ADD             X1, X1, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715543620C 1F 00 01 EB             CMP             X0, X1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436210 00 1C 21 6E             EOR             V0.16B, V0.16B, V1.16B</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436214 60 04 81 3C             STR             Q0, [X3],#0x10</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436218 68 FF FF 54             B.HI            Dec_Enc_Code_loc_71F33B4204</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436218</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715543621C 9F 00 02 EB             CMP             X4, X2</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436220 00 0B 00 54             B.EQ            loc_7155436380</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436220</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436224</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436224                         loc_7155436224 </span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436224 61 6A 62 38             LDRB            W1, [X19,X2]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436228 40 04 00 91             ADD             X0, X2, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715543622C 9F 00 00 EB             CMP             X4, X0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436230 E1 02 01 4A             EOR             W1, W23, W1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436234 61 6A 22 38             STRB            W1, [X19,X2]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436238 49 0A 00 54             B.LS            loc_7155436380</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436238</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715543623C 63 6A 60 38             LDRB            W3, [X19,X0]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436240 41 08 00 91             ADD             X1, X2, #2</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436244 3F 00 04 EB             CMP             X1, X4</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436248 E3 02 03 4A             EOR             W3, W23, W3</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715543624C 63 6A 20 38             STRB            W3, [X19,X0]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436250 82 09 00 54             B.CS            loc_7155436380</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436250</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436254 63 6A 61 38             LDRB            W3, [X19,X1]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436258 40 0C 00 91             ADD             X0, X2, #3</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715543625C 1F 00 04 EB             CMP             X0, X4</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436260 E3 02 03 4A             EOR             W3, W23, W3</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436264 63 6A 21 38             STRB            W3, [X19,X1]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436268 C2 08 00 54             B.CS            loc_7155436380</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436268</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715543626C 63 6A 60 38             LDRB            W3, [X19,X0]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436270 41 10 00 91             ADD             X1, X2, #4</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436274 9F 00 01 EB             CMP             X4, X1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436278 E3 02 03 4A             EOR             W3, W23, W3</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715543627C 63 6A 20 38             STRB            W3, [X19,X0]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155436280 09 08 00 54             B.LS            loc_7155436380</span></code></pre></section><p style="min-height: 24px;">执行到代码时解密，执行后加密回去，可以防止静态分析或内存dump。</p><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">5.3、linker加载填充方法</span></p><p style="min-height: 24px;">解密字符串表：</p><p style="min-height: 24px;">解析elf定位到加密后字符串且，解密后如图5-3所示：</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.7408975444538527" data-s="300,640" style="" data-type="jpeg" data-w="1181" src="https://wechat2rss.xlab.app/img-proxy/?k=4623bb48&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWkUhVB1uNSpDjibnAl0TGtXK5IEKriaE8sgrQRXwiazT8lO1shuBhhUCCmrqFjq9RNUefEgJymqTKZQ%2F640%3Fwx_fmt%3Djpeg"/></p><p>                                图5-3<br/></p><p style="min-height: 24px;">解密算法相对简单，就是异或算法</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.note.gnu.text:0000007155463288                         DecSecString_sub_71F336D288 </span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463288 45 04 00 35             CBNZ            W5, loc_7155463310</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463288</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546328C 64 01 00 34             CBZ             W4, loc_71554632B8</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546328C</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463290 47 68 84 52             MOV             W7, #0x2342</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463294 05 00 80 D2             MOV             X5, #0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463298 27 C6 AA 72             MOVK            W7, #0x5631,LSL#16</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463298</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546329C</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546329C                         DecString_loc_71F336D29C  </span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546329C 66 68 65 B8             LDR             W6, [X3,X5]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632A0 C6 00 07 4A             EOR             W6, W6, W7</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632A4 E7 00 05 0B             ADD             W7, W7, W5</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632A8 66 68 25 B8             STR             W6, [X3,X5]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632AC A5 10 00 91             ADD             X5, X5, #4</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632B0 9F 00 05 6B             CMP             W4, W5</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632B4 48 FF FF 54             B.HI            DecString_loc_71F336D29C</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632B4</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632B8</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632B8                         loc_71554632B8   </span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632B8 E3 03 01 2A             MOV             W3, W1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632BC 3F 00 02 6B             CMP             W1, W2</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632C0 63 04 03 8B             ADD             X3, X3, X3,LSL#1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632C4 00 0C 03 8B             ADD             X0, X0, X3,LSL#3</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632C8 42 02 00 54             B.CS            loc_7155463310</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632C8</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632CC 43 04 00 51             SUB             W3, W2, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632D0 25 44 05 11             ADD             W5, W1, #0x151</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632D4 63 00 01 4B             SUB             W3, W3, W1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632D8 21 6C 05 11             ADD             W1, W1, #0x15B</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632DC 63 04 00 91             ADD             X3, X3, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632E0 63 04 03 8B             ADD             X3, X3, X3,LSL#1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554632E4 03 0C 03 8B             ADD             X3, X0, X3,LSL#3</span></code></pre></section><p style="min-height: 24px;">解密指令：</p><p style="min-height: 24px;">像是魔改后的rc4算法。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040                         dec_sub_7D26D98040            ; CODE XREF: Dec_sub_71F336C13C+13C↓p</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040                                                       ; Dec_sub_71F336C13C+1CC↓p</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040                                                       ; Dec_sub_71F336C13C+284↓p</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040                         var_150= -0x150</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040                         var_140= -0x140</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040                         var_130= -0x130</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040                         var_114= -0x114</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040                         var_108= -0x108</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040                         var_8= -8</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462040 FF 43 05 D1             SUB             SP, SP, #0x150</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462044 E3 F3 00 91             ADD             X3, SP, #0x150+var_114</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462048 F3 53 00 A9             STP             X19, X20, [SP,#0x150+var_150]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546204C D3 01 00 D0             ADRP            X19, #off_715549CF00@PAGE</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462050 FE 13 00 F9             STR             X30, [SP,#0x150+var_130]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462054 F5 5B 01 A9             STP             X21, X22, [SP,#0x150+var_140]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462058 F4 23 01 91             ADD             X20, SP, #0x150+var_108</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546205C F5 03 01 AA             MOV             X21, X1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462060 73 82 47 F9             LDR             X19, [X19,#off_715549CF00@PAGEOFF]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462064 E1 03 03 AA             MOV             X1, X3</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462068 F6 03 00 AA             MOV             X22, X0</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546206C E2 3F 00 B9             STR             W2, [SP,#0x150+var_114]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462070 E0 03 14 AA             MOV             X0, X20</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462074 82 00 80 D2             MOV             X2, #4</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462078 63 02 40 F9             LDR             X3, [X19]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546207C E3 A7 00 F9             STR             X3, [SP,#0x150+var_8]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462080 40 FF FF 97             BL              initkey_sub_7D26D97D80</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462080</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462084 E0 03 14 AA             MOV             X0, X20</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462088 E1 03 16 AA             MOV             X1, X22</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546208C E2 03 15 AA             MOV             X2, X21</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462090 D0 FF FF 97             BL              dec_sub_7D26D97FD0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462090</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462094 E1 A7 40 F9             LDR             X1, [SP,#0x150+var_8]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462098 60 02 40 F9             LDR             X0, [X19]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546209C 3F 00 00 EB             CMP             X1, X0</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554620A0 C1 00 00 54             B.NE            loc_71554620B8</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554620A0</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554620A4 F3 53 40 A9             LDP             X19, X20, [SP,#0x150+var_150]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554620A8 F5 5B 41 A9             LDP             X21, X22, [SP,#0x150+var_140]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554620AC FE 13 40 F9             LDR             X30, [SP,#0x150+var_130]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554620B0 FF 43 05 91             ADD             SP, SP, #0x150</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554620B4 C0 03 5F D6             RET</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FD0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FD0                         dec_sub_7D26D97FD0            ; CODE XREF: dec_sub_7D26D98040+50↓p</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FD0 62 03 00 B4             CBZ             X2, locret_715546203C</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FD0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FD4 05 00 80 52             MOV             W5, #0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FD8 22 00 02 8B             ADD             X2, X1, X2</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FDC E6 03 05 2A             MOV             W6, W5</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FDC</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FE0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FE0                         loc_7155461FE0                ; CODE XREF: dec_sub_7D26D97FD0+68↓j</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FE0 C6 04 00 11             ADD             W6, W6, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FE4 C6 1C 00 12             AND             W6, W6, #0xFF</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FE8 C4 7C 40 93             SXTW            X4, W6</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FEC 03 68 64 38             LDRB            W3, [X0,X4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FF0 65 00 05 0B             ADD             W5, W3, W5</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FF4 A5 1C 00 12             AND             W5, W5, #0xFF</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FF8 A7 7C 40 93             SXTW            X7, W5</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155461FFC 08 68 67 38             LDRB            W8, [X0,X7]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462000 08 68 24 38             STRB            W8, [X0,X4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462004 03 68 27 38             STRB            W3, [X0,X7]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462008 04 68 64 38             LDRB            W4, [X0,X4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546200C 27 00 40 39             LDRB            W7, [X1]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462010 64 00 04 0B             ADD             W4, W3, W4</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462014 84 1C 00 53             UXTB            W4, W4</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462018 03 68 64 38             LDRB            W3, [X0,X4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546201C 64 7C 02 53             LSR             W4, W3, #2</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462020 83 18 03 2A             ORR             W3, W4, W3,LSL#6</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462024 63 1C 00 53             UXTB            W3, W3</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462028 63 E8 00 11             ADD             W3, W3, #0x3A ; &#39;:&#39;</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546202C 63 00 07 4A             EOR             W3, W3, W7</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462030 23 14 00 38             STRB            W3, [X1],#1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462034 3F 00 02 EB             CMP             X1, X2</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462038 41 FD FF 54             B.NE            loc_7155461FE0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462038</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546203C</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546203C                         locret_715546203C             ; CODE XREF: dec_sub_7D26D97FD0↑j</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546203C C0 03 5F D6             RET</span></code></pre></section><p style="min-height: 24px;">填充指令：</p><p style="min-height: 24px;"><span style="color: rgb(0, 0, 0);background-color: rgb(254, 254, 254);">解析ELF头，获取到Load so所需要的节，mmap映射到内存中，</span>抹<span style="color: rgb(0, 0, 0);background-color: rgb(254, 254, 254);">掉elf头信息，</span>mprotect<span style="color: rgb(0, 0, 0);background-color: rgb(254, 254, 254);">修改内存的读写权限。具填充代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         ; 填充指令</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         mmap_so_memcpy_code_sub_71F336CF60</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_90= -0x90</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_80= -0x80</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_70= -0x70</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_60= -0x60</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_50= -0x50</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_40= -0x40</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_38= -0x38</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_28= -0x28</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_10= -0x10</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60                         var_8= -8</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F60 FF 43 02 D1             SUB             SP, SP, #0x90</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F64 EA AF 06 6D             STP             D10, D11, [SP,#0x90+var_28]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F68 E8 A7 05 6D             STP             D8, D9, [SP,#0x90+var_38]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F6C FB 73 04 A9             STP             X27, X28, [SP,#0x90+var_50]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F70 FC 03 00 AA             MOV             X28, X0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F74 FE 2B 00 F9             STR             X30, [SP,#0x90+var_40]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F78 F3 53 00 A9             STP             X19, X20, [SP,#0x90+var_90]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F7C F5 5B 01 A9             STP             X21, X22, [SP,#0x90+var_80]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F80 F7 63 02 A9             STP             X23, X24, [SP,#0x90+var_70]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F84 F9 6B 03 A9             STP             X25, X26, [SP,#0x90+var_60]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F88 13 00 80 D2             MOV             X19, #0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F8C 81 43 40 F9             LDR             X1, [X28,#0x80]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F90 F5 03 13 AA             MOV             X21, X19</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F94 00 04 40 F9             LDR             X0, [X0,#8]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F98 E2 03 01 AA             MOV             X2, X1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462F9C 2B 00 67 9E             FMOV            D11, X1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FA0 01 70 40 79             LDRH            W1, [X0,#0x38]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FA4 41 70 00 79             STRH            W1, [X2,#0x38]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FA8 01 08 80 D2             MOV             X1, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FAC 41 10 00 F9             STR             X1, [X2,#0x20]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FB0 02 70 40 79             LDRH            W2, [X0,#0x38]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FB4 81 07 40 F9             LDR             X1, [X28,#8]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FB8 80 43 40 F9             LDR             X0, [X28,#0x80]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FBC 43 E4 7A D3             LSL             X3, X2, #6</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FC0 62 0C 02 CB             SUB             X2, X3, X2,LSL#3</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FC4 21 00 01 91             ADD             X1, X1, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FC8 00 00 01 91             ADD             X0, X0, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FCC 91 F7 FF 97             BL              memcpy_1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FCC</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FD0 C0 0A 00 94             BL              fopen_maps_sub_71F336FAD0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FD0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FD4 09 00 27 1E             FMOV            S9, W0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FD8 E1 03 13 AA             MOV             X1, X19</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FDC 42 00 80 52             MOV             W2, #2</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FE0 10 F7 FF 97             BL              lseek_0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FE0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FE4 0A 00 67 9E             FMOV            D10, X0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FE8 80 0F 40 F9             LDR             X0, [X28,#0x18]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FEC C0 00 00 B5             CBNZ            X0, loc_7155463004</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FEC</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FF0 4D 00 00 14             B               loc_7155463124</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FF0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FF4</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FF4                         loc_7155462FF4</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FF4 B5 06 00 91             ADD             X21, X21, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FF8 73 E2 00 91             ADD             X19, X19, #0x38 ; &#39;8&#39;</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155462FFC 1F 00 15 EB             CMP             X0, X21       ; 判断是否结束</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463000 29 09 00 54             B.LS            loc_7155463124</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463000</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463004</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463004                         loc_7155463004 </span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463004</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463004 81 17 40 F9             LDR             X1, [X28,#0x28]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463008 36 00 13 8B             ADD             X22, X1, X19</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546300C 21 68 73 B8             LDR             W1, [X1,X19]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463010 3F 04 00 71             CMP             W1, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463014 01 FF FF 54             B.NE            loc_7155462FF4</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463014</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463018 C0 0A 40 F9             LDR             X0, [X22,#0x10]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546301C 84 03 40 F9             LDR             X4, [X28]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463020 D4 16 40 F9             LDR             X20, [X22,#0x28]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463024 98 00 00 8B             ADD             X24, X4, X0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463028 C0 06 40 F9             LDR             X0, [X22,#8]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546302C 94 FE 3F 91             ADD             X20, X20, #0xFFF</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463030 1A CF 74 92             AND             X26, X24, #0xFFFFFFFFFFFFF000</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463034 94 02 18 8B             ADD             X20, X20, X24</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463038 D9 12 40 F9             LDR             X25, [X22,#0x20]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546303C 94 CE 74 92             AND             X20, X20, #0xFFFFFFFFFFFFF000</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463040 5F 03 14 EB             CMP             X26, X20</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463044 17 03 19 8B             ADD             X23, X24, X25</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463048 08 00 67 9E             FMOV            D8, X0</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546304C C3 08 00 54             B.CC            loc_7155463164</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546304C</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463050</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463050                         loc_7155463050 </span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463050 C0 01 00 B0             ADRP            X0, #off_715549CFD0@PAGE</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463054 9B 02 1A CB             SUB             X27, X20, X26</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463058 E1 03 1B AA             MOV             X1, X27</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546305C 02 E8 47 F9             LDR             X2, [X0,#off_715549CFD0@PAGEOFF]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463060 C0 01 00 B0             ADRP            X0, #off_715549CFE0@PAGE</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463064 03 F0 47 F9             LDR             X3, [X0,#off_715549CFE0@PAGEOFF]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463068 E0 03 1A AA             MOV             X0, X26</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546306C 42 00 40 B9             LDR             W2, [X2]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463070 E3 47 00 F9             STR             X3, [SP,#0x90+var_8]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463074 68 08 40 F9             LDR             X8, [X3,#(qword_715530E800+8 - 0x715530E7F8)]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463078 42 04 00 32             ORR             W2, W2, #3</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546307C 00 01 3F D6             BLR             X8            ; mprotect</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546307C</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463080 E8 03 00 2A             MOV             W8, W0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463084 61 17 80 52             MOV             W1, #0xBB</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463088 E0 03 1A AA             MOV             X0, X26</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546308C E2 03 1B AA             MOV             X2, X27</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463090 E8 43 00 F9             STR             X8, [SP,#0x90+var_10]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463094 EF F6 FF 97             BL              memset_0      ; 用BB填充ELF头</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463094</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463098 E8 43 40 F9             LDR             X8, [SP,#0x90+var_10]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546309C E3 47 40 F9             LDR             X3, [SP,#0x90+var_8]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630A0 1F 05 00 31             CMN             W8, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630A4 40 0B 00 54             B.EQ            loc_715546320C</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630A4</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630A8 B9 06 00 B5             CBNZ            X25, loc_715546317C</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630A8</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630AC</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630AC                         loc_71554630AC </span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630AC C0 06 40 B9             LDR             W0, [X22,#4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630B0 60 00 08 36             TBZ             W0, #1, loc_71554630BC</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630B0</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630B4 E2 2E 40 F2             ANDS            X2, X23, #0xFFF</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630B8 81 09 00 54             B.NE            loc_71554631E8</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630B8</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630BC</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630BC                         loc_71554630BC </span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630BC   </span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630BC F7 FE 3F 91             ADD             X23, X23, #0xFFF</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630C0 F7 CE 74 92             AND             X23, X23, #0xFFFFFFFFFFFFF000</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630C4 9F 02 17 EB             CMP             X20, X23</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630C8 A8 06 00 54             B.HI            mmap_loc_71F336D19C</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630C8</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630CC</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630CC                         loc_71554630CC </span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630CC C1 01 00 B0             ADRP            X1, #off_715549CFE0@PAGE</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630D0 C3 06 40 B9             LDR             W3, [X22,#4]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630D4 E0 03 1A AA             MOV             X0, X26</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630D8 62 00 00 12             AND             W2, W3, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630DC 65 08 42 D3             UBFX            X5, X3, #2, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630E0 24 F0 47 F9             LDR             X4, [X1,#off_715549CFE0@PAGEOFF]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630E4 5F 00 1F 6B             CMP             W2, WZR</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630E8 63 00 1F 12             AND             W3, W3, #2</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630EC 82 00 80 52             MOV             W2, #4</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630F0 42 10 9F 1A             CSEL            W2, W2, WZR, NE</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630F4 A3 00 03 2A             ORR             W3, W5, W3</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630F8 84 08 40 F9             LDR             X4, [X4,#(qword_715530E800+8 - 0x715530E7F8)]</span></code><code><span class="code-snippet_outer">.note.gnu.text:00000071554630FC E1 03 1B AA             MOV             X1, X27</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463100 62 00 02 2A             ORR             W2, W3, W2</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463104 80 00 3F D6             BLR             X4            ; mprotect</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463104</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463108 1F 04 00 31             CMN             W0, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546310C 00 08 00 54             B.EQ            loc_715546320C</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546310C</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463110 80 0F 40 F9             LDR             X0, [X28,#0x18]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463114 B5 06 00 91             ADD             X21, X21, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463118 73 E2 00 91             ADD             X19, X19, #0x38 ; &#39;8&#39;</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546311C 1F 00 15 EB             CMP             X0, X21</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463120 28 F7 FF 54             B.HI            loc_7155463004</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463120</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463124</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463124                         loc_7155463124  </span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463124                                                       </span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463124 20 01 26 1E             FMOV            W0, S9</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463128 1F 00 1F 6B             CMP             W0, WZR</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546312C 6D 00 00 54             B.LE            loc_7155463138</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546312C</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463130 20 01 26 1E             FMOV            W0, S9</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463134 FB F6 FF 97             BL              close_0</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463134</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463138</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463138                         loc_7155463138 </span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463138 20 00 80 52             MOV             W0, #1</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463138</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546313C</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546313C                         loc_715546313C   </span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546313C F3 53 40 A9             LDP             X19, X20, [SP,#0x90+var_90]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463140 E8 A7 45 6D             LDP             D8, D9, [SP,#0x90+var_38]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463144 F5 5B 41 A9             LDP             X21, X22, [SP,#0x90+var_80]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463148 EA AF 46 6D             LDP             D10, D11, [SP,#0x90+var_28]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546314C F7 63 42 A9             LDP             X23, X24, [SP,#0x90+var_70]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463150 F9 6B 43 A9             LDP             X25, X26, [SP,#0x90+var_60]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463154 FB 73 44 A9             LDP             X27, X28, [SP,#0x90+var_50]</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463158 FE 2B 40 F9             LDR             X30, [SP,#0x90+var_40]</span></code><code><span class="code-snippet_outer">.note.gnu.text:000000715546315C FF 43 02 91             ADD             SP, SP, #0x90</span></code><code><span class="code-snippet_outer">.note.gnu.text:0000007155463160 C0 03 5F D6             RET</span></code></pre></section><p style="min-height: 24px;">这样做的一个好处就是防止从内存中直接反elf dump出来。以上流程都是在init_array中完成，接下来是执行JNI_OnLoad方法。</p><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">5.4、JNI_OnLoad定位</span></p><p style="min-height: 24px;">虽然代码己经解密并填充，但是导出函数还是不能看到，所以还是需要借肋系统机制定位Jni_OnLoad方法。</p><p style="min-height: 24px;">分析LoadNativeLibrary流程，执行到到_ZN3art9JavaVMExt17LoadNativeLibraryEP7_JNIEnvRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEP8_jobjectP7_jclassPS9_方法，这个方法中会调用_ZN3art13SharedLibrary29FindSymbolWithoutNativeBridgeERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE，方法直接返回JNI_OnLoad地址。</p><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">5.5、反调式</span></p><p style="min-height: 24px;">查找是否有android_server运行</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.note.gnu.proc:00000071553D11B4 40 01 89 9A             CSEL            X0, X10, X9, EQ</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553D11B4</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553D11B8                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553D11B8 B2 CD 02 94             BL              opendir       ; /proc/</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553D11B8</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553D11BC                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553D11BC 60 0A 00 B4             CBZ             X0, loc_71553D1308</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553D11C0 F4 03 00 AA             MOV             X20, X0</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553D11C4 B3 CD 02 94             BL              readdir</span></code></pre></section><p style="min-height: 24px;">5.6、RegisterNatives</p><p style="min-height: 24px;">注册native方法</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.note.gnu.proc:00000071553E88AC                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553E88AC E2 03 16 AA             MOV             X2, X22</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553E88B0 00 01 3F D6             BLR             X8            ; RegisterNatives</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553E88B0</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553E88B4                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553E88B4 F7 03 00 2A             MOV             W23, W0       ; RegisterNatives END</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553E88B4</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553E88B8                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553E88B8 E0 03 16 AA             MOV             X0, X22</span></code></pre></section><p style="min-height: 24px;">根据源码中结构可以得到方法存放位置，X2寄存器存放native方法。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">static int registerNativeMethods(JNIEnv* env</span></code><code><span class="code-snippet_outer">        , const char* className</span></code><code><span class="code-snippet_outer">        , JNINativeMethod* gMethods, int numMethods)</span></code><code><span class="code-snippet_outer">gMethods methods[] 数组 :其中定义了 Java 层方法与 Native 层方法的对应关系 ;</span></code><code><span class="code-snippet_outer">JNINativeMethod 是结构体   </span></code><code><span class="code-snippet_outer">        typedef struct {</span></code><code><span class="code-snippet_outer">            const char* name;       //Java 中定义的 Native 方法名 , 注意这是一个 C 字符串</span></code><code><span class="code-snippet_outer">            const char* signature;  //函数签名 , 可以使用 javap 生成</span></code><code><span class="code-snippet_outer">            void*       fnPtr;      //C/C++ 中的 Native 函数签名</span></code><code><span class="code-snippet_outer">        } JNINativeMethod;</span></code></pre></section><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">5.6、解密dex</span></p><p style="min-height: 24px;">检测常见脱壳器：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3680 94 04 03 94             BL              getString_sub_78232118D0</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3680</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3684                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3684 E8 23 40 39             LDRB            W8, [SP,#0x60+var_58]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3684</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3688                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3688 E9 0F 40 F9             LDR             X9, [SP,#0x60+var_48]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3688</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C368C                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C368C E1 03 1F 2A             MOV             W1, WZR</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C368C</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3690                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3690 1F 01 00 72             TST             W8, #1</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3690</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3694                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3694 E0 02 89 9A             CSEL            X0, X23, X9, EQ</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3694</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3698                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3698 3E 05 03 94             BL              access</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C3698</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C369C                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C369C E8 23 40 39             LDRB            W8, [SP,#0x60+var_58]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553C369C</span></code><code><span class="code-snippet_outer">//特征</span></code><code><span class="code-snippet_outer">/data/dexname</span></code><code><span class="code-snippet_outer">/data/local/tmp/unpacker.config</span></code><code><span class="code-snippet_outer">/data/fart</span></code><code><span class="code-snippet_outer">/sdcard/fart</span></code><code><span class="code-snippet_outer">/data/local/tmp/libFupk3.so</span></code><code><span class="code-snippet_outer">libFupk3.so</span></code><code><span class="code-snippet_outer">libblackdex.so</span></code><code><span class="code-snippet_outer">libhoudini.so //模拟器检测</span></code></pre></section><p style="min-height: 24px;">创建子进程反调试：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2340</span> <span class="code-snippet__selector-tag">CC</span> <span class="code-snippet__selector-tag">C9</span> 02 94             <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">fork</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2340</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2344</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2344</span> 60 04 00 34             <span class="code-snippet__selector-tag">CBZ</span>             <span class="code-snippet__selector-tag">W0</span>, <span class="code-snippet__selector-tag">loc_71553D23D0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2344</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2348</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2348</span> 1<span class="code-snippet__selector-tag">F</span> 04 00 71             <span class="code-snippet__selector-tag">CMP</span>             <span class="code-snippet__selector-tag">W0</span>, <span class="code-snippet__selector-id">#1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2348</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D234C</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D234C</span> 8<span class="code-snippet__selector-tag">B</span> 06 00 54             <span class="code-snippet__selector-tag">B</span><span class="code-snippet__selector-class">.LT</span>            <span class="code-snippet__selector-tag">loc_71553D241C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D234C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2350</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2350</span> 13 00 00 90             <span class="code-snippet__selector-tag">ADRP</span>            <span class="code-snippet__selector-tag">X19</span>, <span class="code-snippet__selector-id">#sub_71553D245C</span>@<span class="code-snippet__keyword">PAGE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2350</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2354</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2354</span> <span class="code-snippet__selector-tag">F4</span> 05 00 <span class="code-snippet__selector-tag">F0</span>             <span class="code-snippet__selector-tag">ADRP</span>            <span class="code-snippet__selector-tag">X20</span>, #(<span class="code-snippet__selector-tag">qword_7155490F20</span>+0<span class="code-snippet__selector-tag">x510</span>)@<span class="code-snippet__keyword">PAGE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2354</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2358</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2358</span> 73 72 11 91             <span class="code-snippet__selector-tag">ADD</span>             <span class="code-snippet__selector-tag">X19</span>, <span class="code-snippet__selector-tag">X19</span>, <span class="code-snippet__selector-id">#sub_71553D245C</span>@<span class="code-snippet__keyword">PAGE</span><span class="code-snippet__selector-tag">OFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2358</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D235C</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D235C</span> 80 32 04 <span class="code-snippet__selector-tag">B9</span>             <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">W0</span>, <span class="code-snippet__selector-attr">[X20,#(qword_7155490F20+0x510)@PAGEOFF]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D235C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2360</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2360</span> 20 02 80 52             <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">W0</span>, <span class="code-snippet__selector-id">#0x11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2360</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2364</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2364</span> <span class="code-snippet__selector-tag">E1</span> 03 13 <span class="code-snippet__selector-tag">AA</span>             <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">X1</span>, <span class="code-snippet__selector-tag">X19</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2364</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2368</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2368</span> <span class="code-snippet__selector-tag">B6</span> <span class="code-snippet__selector-tag">C9</span> 02 94             <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">getfuncAddress</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2368</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D236C</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D236C</span> 00 <span class="code-snippet__selector-tag">E4</span> 00 6<span class="code-snippet__selector-tag">F</span>             <span class="code-snippet__selector-tag">MOVI</span>            <span class="code-snippet__selector-tag">V0</span><span class="code-snippet__selector-class">.2D</span>, <span class="code-snippet__selector-id">#0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D236C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2370</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2370</span> <span class="code-snippet__selector-tag">A1</span> <span class="code-snippet__selector-tag">C3</span> 00 <span class="code-snippet__selector-tag">D1</span>             <span class="code-snippet__selector-tag">SUB</span>             <span class="code-snippet__selector-tag">X1</span>, <span class="code-snippet__selector-tag">X29</span>, <span class="code-snippet__selector-id">#-</span>(0<span class="code-snippet__selector-tag">x20</span>+<span class="code-snippet__selector-tag">var_50</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2370</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2374</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2374</span> 20 02 80 52             <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">W0</span>, <span class="code-snippet__selector-id">#0x11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2374</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2378</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2378</span> <span class="code-snippet__selector-tag">E2</span> 03 1<span class="code-snippet__selector-tag">F</span> <span class="code-snippet__selector-tag">AA</span>             <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">X2</span>, <span class="code-snippet__selector-tag">XZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2378</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D237C</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D237C</span> <span class="code-snippet__selector-tag">A0</span> 83 3<span class="code-snippet__selector-tag">E</span> <span class="code-snippet__selector-tag">AD</span>             <span class="code-snippet__selector-tag">STP</span>             <span class="code-snippet__selector-tag">Q0</span>, <span class="code-snippet__selector-tag">Q0</span>, <span class="code-snippet__selector-attr">[X29,#0x20+var_50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D237C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2380</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2380</span> <span class="code-snippet__selector-tag">B3</span> 83 1<span class="code-snippet__selector-tag">D</span> <span class="code-snippet__selector-tag">F8</span>             <span class="code-snippet__selector-tag">STUR</span>            <span class="code-snippet__selector-tag">X19</span>, <span class="code-snippet__selector-attr">[X29,#0x20+var_50+8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2380</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2384</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2384</span> <span class="code-snippet__selector-tag">AB</span> <span class="code-snippet__selector-tag">C8</span> 02 94             <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">nop_6045B09FB4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2384</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2388</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2388</span> 83 32 84 <span class="code-snippet__selector-tag">B9</span>             <span class="code-snippet__selector-tag">LDRSW</span>           <span class="code-snippet__selector-tag">X3</span>, <span class="code-snippet__selector-attr">[X20,#(qword_7155490F20+0x510)@PAGEOFF]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2388</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D238C</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D238C</span> 02 00 00 90 42 <span class="code-snippet__selector-tag">A0</span> 10 91 <span class="code-snippet__selector-tag">ADRL</span>            <span class="code-snippet__selector-tag">X2</span>, <span class="code-snippet__selector-tag">T2_Antidbg_sub_782315F428</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2394</span> <span class="code-snippet__selector-tag">A0</span> <span class="code-snippet__selector-tag">C3</span> 00 <span class="code-snippet__selector-tag">D1</span>             <span class="code-snippet__selector-tag">SUB</span>             <span class="code-snippet__selector-tag">X0</span>, <span class="code-snippet__selector-tag">X29</span>, <span class="code-snippet__selector-id">#-</span>(0<span class="code-snippet__selector-tag">x20</span>+<span class="code-snippet__selector-tag">var_50</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2394</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2398</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2398</span> <span class="code-snippet__selector-tag">E1</span> 03 1<span class="code-snippet__selector-tag">F</span> <span class="code-snippet__selector-tag">AA</span>             <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">X1</span>, <span class="code-snippet__selector-tag">XZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D2398</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D239C</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D239C</span> <span class="code-snippet__selector-tag">AD</span> <span class="code-snippet__selector-tag">C8</span> 02 94             <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">create_pthread_create</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D239C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D23A0</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D23A0</span> 60 00 00 35             <span class="code-snippet__selector-tag">CBNZ</span>            <span class="code-snippet__selector-tag">W0</span>, <span class="code-snippet__selector-tag">loc_71553D23AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D23A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D23A4</span>                         ; <span class="code-snippet__selector-tag">---------------------------------------------------------------------------</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D23A4</span> <span class="code-snippet__selector-tag">A0</span> 03 5<span class="code-snippet__selector-tag">D</span> <span class="code-snippet__selector-tag">F8</span>             <span class="code-snippet__selector-tag">LDUR</span>            <span class="code-snippet__selector-tag">X0</span>, <span class="code-snippet__selector-attr">[X29,#0x20+var_50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.note</span><span class="code-snippet__selector-class">.gnu</span><span class="code-snippet__selector-class">.proc</span><span class="code-snippet__selector-pseudo">:00000071553D23A8</span> <span class="code-snippet__selector-tag">F2</span> <span class="code-snippet__selector-tag">C9</span> 02 94             <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">detach</span></span></code></pre></section><p style="min-height: 24px;">解密dex所需信息：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">c:5FD6EB80B07CB412704C5A46D899C63B</span></code><code><span class="code-snippet_outer">p:com.xiaopeng.mycarinfo</span></code><code><span class="code-snippet_outer">a:com.xiaopeng.mycarinfo.application.tinker.CarApplication//app入口</span></code><code><span class="code-snippet_outer">r:047AEA142BC032C4</span></code><code><span class="code-snippet_outer">e:0</span></code><code><span class="code-snippet_outer">s:0</span></code><code><span class="code-snippet_outer">d:4A7651EA24600BAA//解密dex key</span></code><code><span class="code-snippet_outer">m:1</span></code><code><span class="code-snippet_outer">z:0</span></code><code><span class="code-snippet_outer">u:1</span></code><code><span class="code-snippet_outer">x:0</span></code><code><span class="code-snippet_outer">fx:0</span></code><code><span class="code-snippet_outer">fd:0</span></code><code><span class="code-snippet_outer">rd:0</span></code><code><span class="code-snippet_outer">rx:0</span></code><code><span class="code-snippet_outer">pp:0</span></code><code><span class="code-snippet_outer">vv:0</span></code><code><span class="code-snippet_outer">rr:0</span></code><code><span class="code-snippet_outer">xx:0</span></code><code><span class="code-snippet_outer">si:0</span></code><code><span class="code-snippet_outer">rl:0</span></code><code><span class="code-snippet_outer">hf:0</span></code><code><span class="code-snippet_outer">hc:0</span></code><code><span class="code-snippet_outer">hi:0</span></code><code><span class="code-snippet_outer">is:0</span></code><code><span class="code-snippet_outer">db:0</span></code><code><span class="code-snippet_outer">it:0</span></code><code><span class="code-snippet_outer">i:0</span></code><code><span class="code-snippet_outer">ad:0</span></code><code><span class="code-snippet_outer">ri:0</span></code><code><span class="code-snippet_outer">mc:0</span></code><code><span class="code-snippet_outer">adf:0</span></code><code><span class="code-snippet_outer">dbf:0</span></code><code><span class="code-snippet_outer">fc:0</span></code><code><span class="code-snippet_outer">au:0</span></code></pre></section><p style="min-height: 24px;">从壳dex中拷贝出密文解密，包名、Application、key等信息</p><p style="min-height: 24px;">解密出明文dex：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB834                         ; 解密dex</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB834</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB834                         DecDex_sub_71553EB834</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB834</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB834                         var_60= -0x60</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB834</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB834 FD 7B BA A9             STP             X29, X30, [SP,#var_60]!</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB834                         ; End of function DecDex_sub_71553EB834</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB834</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB838 FC 0B 00 F9             STR             X28, [SP,#0x10]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB838</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB83C                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB83C FA 67 02 A9             STP             X26, X25, [SP,#0x20]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB83C</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB840                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB840 F8 5F 03 A9             STP             X24, X23, [SP,#0x30]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB840</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB844                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB844 F6 57 04 A9             STP             X22, X21, [SP,#0x40]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB844</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB848                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB848 F4 4F 05 A9             STP             X20, X19, [SP,#0x50]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB848</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB84C                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB84C FD 03 00 91             MOV             X29, SP</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB84C</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB850                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB850 FF 83 11 D1             SUB             SP, SP, #0x460</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB850</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB854                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB854 5A D0 3B D5             MRS             X26, #3, c13, c0, #2</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB854</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB858                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB858 48 17 40 F9             LDR             X8, [X26,#0x28]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB858</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB85C                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB85C F9 03 00 AA             MOV             X25, X0</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB85C</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB860                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB860 F3 03 02 AA             MOV             X19, X2</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB860</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB864                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB864 F5 03 01 AA             MOV             X21, X1</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB864</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB868                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB868 A8 83 1F F8             STUR            X8, [X29,#-8]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB868</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB86C                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB86C 36 5C 42 29             LDP             W22, W23, [X1,#0x10]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB86C</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB870                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB870 38 04 40 F9             LDR             X24, [X1,#8]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB870</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB874                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB874 E0 03 17 AA             MOV             X0, X23</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB874</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB878                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB878 6A 64 02 94             BL              malloc_sub_7D26D81A20</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB878</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB87C                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB87C E1 03 18 AA             MOV             X1, X24</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB87C</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB880                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB880 E2 03 17 AA             MOV             X2, X23</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB880</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB884                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB884 F4 03 00 AA             MOV             X20, X0</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB884</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB888                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB888 BE 63 02 94             BL              memcpy_2      ; 拷贝DEX密文</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB888</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB88C                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB88C E0 83 00 91             ADD             X0, SP, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB890 12 59 00 94             BL              DecKEY_sub_7155401CD8</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB890</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB894 21 63 04 91             ADD             X1, X25, #0x118</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB894</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB898                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB898 E0 23 00 91             ADD             X0, SP, #8</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB898</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB89C                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB89C F8 23 00 91             ADD             X24, SP, #8</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB89C</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8A0                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8A0 0C 64 02 94             BL              getString_sub_78232118D0 ; 4A7651EA24600BAA</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8A0</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8A4                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8A4 E8 23 40 39             LDRB            W8, [SP,#8]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8A8 E9 0F 40 F9             LDR             X9, [SP,#0x18]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8A8</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8AC                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8AC EA 13 40 B9             LDR             W10, [SP,#0x10]</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8B0 0B 03 40 B2             ORR             X11, X24, #1</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8B0</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8B4                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8B4 0C FD 41 D3             LSR             X12, X8, #1</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8B4</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8B8                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8B8 1F 01 00 72             TST             W8, #1</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8B8</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8BC                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8BC 61 01 89 9A             CSEL            X1, X11, X9, EQ</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8C0 82 01 8A 1A             CSEL            W2, W12, W10, EQ</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8C4 E0 83 00 91             ADD             X0, SP, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8C4</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8C8                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8C8 DE 5A 00 94             BL              initkey_sub_7155402440</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8C8</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8CC                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8CC FF 06 40 71             CMP             W23, #1,LSL#12</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8D0 08 00 82 52             MOV             W8, #0x1000</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8D0</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8D4                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8D4 E2 32 88 1A             CSEL            W2, W23, W8, CC</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8D4</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8D8                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8D8 E0 83 00 91             ADD             X0, SP, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8D8</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8DC                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8DC E1 03 14 AA             MOV             X1, X20</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8DC</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8E0                         ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8E0 E3 03 1F 2A             MOV             W3, WZR</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8E4 F9 5A 00 94             BL              Dec_DexData_sub_782318F4C8</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8E4</span></code><code><span class="code-snippet_outer">.note.gnu.proc:00000071553EB8E8 FF 02 16 6B             CMP             W23, W22</span></code></pre></section><p style="min-height: 24px;">解析壳DEX格式，获取加密存放的DEX，循环解密完6个DEX，解密出明文，dump点1,这时dump出来的dex是原始dex。</p><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">5.7、加载dex</span></p><p style="min-height: 24px;">在android10之前使用DexClassLoader加载的dex文件系统默认会执行dex2oat进行优化。但是android 10之后系统默认不在对使用DexClassLoader加载的dex文件执行dex2oat优化。Android 运行时只接受系统生成的OAT文件。</p><p style="min-height: 24px;">解密dex后直接调用_ZN3art13DexFileLoader10OpenCommonEPKhmS2_mRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPKNS_10OatDexFileEbbPS9_NS3_10unique_ptrINS_16DexFileContainerENS3_14default_deleteISH_EEEEPNS0_12VerifyResultE 加载DEX，该方法定义如下：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">std::unique_ptr&lt;DexFile&gt; DexFile::OpenCommon(const uint8_t* base,</span></code><code><span class="code-snippet_outer">                                             size_t size,</span></code><code><span class="code-snippet_outer">                                             const std::string&amp; location,</span></code><code><span class="code-snippet_outer">                                             uint32_t location_checksum,</span></code><code><span class="code-snippet_outer">                                             const OatDexFile* oat_dex_file,</span></code><code><span class="code-snippet_outer">                                             bool verify,</span></code><code><span class="code-snippet_outer">                                             bool verify_checksum,</span></code><code><span class="code-snippet_outer">                                             std::string* error_msg,</span></code><code><span class="code-snippet_outer">                                             VerifyResult* verify_result) {</span></code><code><span class="code-snippet_outer">  if (verify_result != nullptr) {</span></code><code><span class="code-snippet_outer">    *verify_result = VerifyResult::kVerifyNotAttempted;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  std::unique_ptr&lt;DexFile&gt; dex_file(new DexFile(base,</span></code><code><span class="code-snippet_outer">                                                size,</span></code></pre></section><p style="min-height: 24px;">OpenCommon这是一个比较好的脱壳点。直接hook可以拿到dex。</p><p style="min-height: 24px;"><span style="font-size: 16px;">接下来创建PathDexList对像，通过PathDexList的成员变量 Element[] dexElements来指向DEX文件，这样DEX就被加载到内存中。</span></p><h2 style="font-size: 24px;line-height: 32px;margin-top: 21px;margin-bottom: 5px;"><span style="color: rgb(61, 167, 66);">六、脱壳二次打包</span></h2><p style="min-height: 24px;"><span style="color: rgb(61, 167, 66);">6.1、dump后dex重打包</span></p><p style="min-height: 24px;">通过上面的分析其实dump点有很多，解密后内存中dump，DexFile::OpenCommon加载dex时。将dump出来的DEX重新打包，</p><p style="min-height: 24px;">修改入口类就可以运行(com.xiaopeng.mycarinfo.application.tinker.CarApplication)，这个入口类在上面己经解密。</p><p style="min-height: 24px;">加载完所有DEX后反射调用原始入口，如图6-1所示：</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.3302286198137172" data-s="300,640" style="" data-type="jpeg" data-w="1181" src="https://wechat2rss.xlab.app/img-proxy/?k=f1bcf254&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWkUhVB1uNSpDjibnAl0TGtX1DlxLZxM2ibj4k7f4R5NpLEa6OwjouxJ8FSib36brTc4SUzJKfia5pD9w%2F640%3Fwx_fmt%3Djpeg"/></p><p style="min-height: 24px;">                                图6-1<span style="font-size: 16px;"></span></p><h2 style="font-size: 24px;line-height: 32px;margin-top: 21px;margin-bottom: 5px;">七、总结</h2><p style="min-height: 24px;text-align: left;"><strong>亮点：</strong></p><p style="min-height: 24px;">Native层so保护技术相对于整体压缩加密的方式它做了sms技术与自定义linker加载so，抹掉elf头，节信息等，能很好的防止内存dump elf。如果要完整脱壳需要根据elf格式重新组合一个完整的so文件。防脱壳的安全度还是有的。</p><p style="min-height: 24px;"><strong>不足点：</strong></p><p style="min-height: 24px;">虽然native层做了很多反调试，反脱壳等手段，但是最终DEX在内存中出现了完整的明文，很难防止各种脱壳机。</p><p style="min-height: 24px;">通过本次分析学习了解到高版本系统加载dex流程以及自定义linker相关知识。</p><p style="min-height: 24px;"><a class="js_poi_entry wx_poi_link" data-id="0.8387183995624603" data-name="%E8%B4%B5%E5%B7%9E%E9%A5%AD%E5%BA%97" data-address="%E8%B4%B5%E5%B7%9E%E7%9C%81%E8%B4%B5%E9%98%B3%E5%B8%82%E4%BA%91%E5%B2%A9%E5%8C%BA%E5%8C%97%E4%BA%AC%E8%B7%AF66%E5%8F%B7(%E8%BF%91%E7%9C%81%E6%94%BF%E5%BA%9C)" data-img="https%3A%2F%2Fmmbiz.qlogo.cn%2Fmmbiz_png%2FN0ibNguSP6ibWkUhVB1uNSpDjibnAl0TGtXOz0PoxsJ3Iw4XJMwAZ2bPhgLjGDicyiaBRBG6GGTp6qia3y6abXHxXvew%2F0%3Fwx_fmt%3Dpng" data-longitude="106.706260681" data-latitude="26.595014572" href="" data-type="1" data-poiid="2741807523347209094" style="font-size:17px;" data-province="%E8%B4%B5%E5%B7%9E" data-city="%E8%B4%B5%E9%98%B3%E5%B8%82">贵州饭店</a></p><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="2247484096">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=97124349&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247484096%26idx%3D1%26sn%3D3cd117e46960842fd2a59e02bf8941e1%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sun, 29 Jan 2023 12:30:00 +0800</pubDate>
    </item>
    <item>
      <title>某老牌反作弊产品分析-(存在加密漏洞可被中间人攻击)二</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247484080&amp;idx=1&amp;sn=c475cb405478abbec270a67d87d66187</link>
      <description>产品应用场景主要用于营销活动反作弊、渠道推广反作弊、交易安全保护、账户安全保护、接口安全保护。渠道买量、应用推广、小程序推广。&#xA;产品功能:&#xA;虚假行为分析&#xA;从设备与账户维度进行聚类关联分析、行为异常分析，甄别虚假作弊用户、IP、设备，锁定源</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2022-06-18 12:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>产品应用场景主要用于营销活动反作弊、渠道推广反作弊、交易安全保护、账户安全保护、接口安全保护。渠道买量、应用推广、小程序推广。</p>
<p>产品功能:</p>
<p>虚假行为分析</p>
<p>从设备与账户维度进行聚类关联分析、行为异常分析，甄别虚假作弊用户、IP、设备，锁定源</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=8f570230&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibUUsic2lCsbCP8SREWVdibeW41iatCrQ4jCE1ev4k7iaNibZic5CqI2qUQVVpAWxZ8DM99OlI2CDvlLk2JQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">目录:</span></span></code><code><span class="code-snippet_outer">一、产品基本介绍</span></code><code><span class="code-snippet_outer">二、产品整体框架</span></code><code><span class="code-snippet_outer">三、JAVA与JNI初始化</span></code><code><span class="code-snippet_outer">四、VM虚拟机基本逻辑</span></code><code><span class="code-snippet_outer">五、环境检测与设备信息采集</span></code><code><span class="code-snippet_outer">六、加密流程分析</span></code><code><span class="code-snippet_outer">七、加密漏洞还原与中人间攻击过程</span></code><code><span class="code-snippet_outer">八、总结</span></code></pre></section><h5 data-source-line="2147" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">5.8、采集设备信息</span></h5><h6 data-source-line="2148" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">初始化获取设备信息的类名与对应的方法名</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9090</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  05 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF90A0</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF90B0</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF90C0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 44  ............getD</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF90D0</span>  <span class="code-snippet__string">65 76 69 63 65 49 64 00  00 00 00 00 00 00 00 00  eviceId.........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF90E0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF90F0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9100</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9110</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9120</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  06 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9130</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9140</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9150</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 56  ............getV</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9160</span>  <span class="code-snippet__string">6F 69 63 65 4D 61 69 6C  4E 75 6D 62 65 72 00 00  oiceMailNumber..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9170</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9180</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9190</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF91A0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF91B0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  07 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF91C0</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF91D0</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF91E0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 53  ............getS</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF91F0</span>  <span class="code-snippet__string">69 6D 53 65 72 69 61 6C  4E 75 6D 62 65 72 00 00  imSerialNumber..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9200</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9210</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9220</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9230</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9240</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  08 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9250</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9260</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9270</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 4E  ............getN</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9280</span>  <span class="code-snippet__string">65 74 77 6F 72 6B 43 6F  75 6E 74 72 79 49 73 6F  etworkCountryIso</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9290</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF92A0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF92B0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF92C0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF92D0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  09 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF92E0</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF92F0</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9300</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 4E  ............getN</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9310</span>  <span class="code-snippet__string">65 74 77 6F 72 6B 4F 70  65 72 61 74 6F 72 4E 61  etworkOperatorNa</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9320</span>  <span class="code-snippet__string">6D 65 00 00 00 00 00 00  00 00 00 00 00 00 00 00  me..............</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9330</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9340</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9350</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9360</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  0A 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9370</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9380</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9390</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 53  ............getS</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF93A0</span>  <span class="code-snippet__string">69 6D 4F 70 65 72 61 74  6F 72 4E 61 6D 65 00 00  imOperatorName..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF93B0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF93C0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF93D0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF93E0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF93F0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  0B 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9400</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9410</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9420</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 50  ............getP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9430</span>  <span class="code-snippet__string">68 6F 6E 65 54 79 70 65  00 00 00 00 00 00 00 00  honeType........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9440</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9450</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9460</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9470</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9480</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  0C 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9490</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF94A0</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF94B0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 4E  ............getN</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF94C0</span>  <span class="code-snippet__string">65 74 77 6F 72 6B 54 79  70 65 00 00 00 00 00 00  etworkType......</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF94D0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF94E0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF94F0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9500</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9510</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  0D 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9520</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9530</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9540</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 43  ............getC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9550</span>  <span class="code-snippet__string">65 6C 6C 4C 6F 63 61 74  69 6F 6E 00 00 00 00 00  ellLocation.....</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9560</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9570</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9580</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9590</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF95A0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  0E 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF95B0</span>  <span class="code-snippet__string">6F 69 64 2E 74 65 6C 65  70 68 6F 6E 79 2E 54 65  oid.telephony.Te</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF95C0</span>  <span class="code-snippet__string">6C 65 70 68 6F 6E 79 4D  61 6E 61 67 65 72 00 00  lephonyManager..</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF95D0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 44  ............getD</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF95E0</span>  <span class="code-snippet__string">65 76 69 63 65 53 6F 66  74 77 61 72 65 56 65 72  eviceSoftwareVer</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF95F0</span>  <span class="code-snippet__string">73 69 6F 6E 00 00 00 00  00 00 00 00 00 00 00 00  sion............</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9600</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9610</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9620</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9630</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  0F 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9640</span>  <span class="code-snippet__string">6F 69 64 2E 6E 65 74 2E  77 69 66 69 2E 57 69 66  oid.net.wifi.Wif</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9650</span>  <span class="code-snippet__string">69 49 6E 66 6F 00 00 00  00 00 00 00 00 00 00 00  iInfo...........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9660</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 4D  ............getM</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9670</span>  <span class="code-snippet__string">61 63 41 64 64 72 65 73  73 00 00 00 00 00 00 00  acAddress.......</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9680</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9690</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF96A0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF96B0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF96C0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  10 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF96D0</span>  <span class="code-snippet__string">6F 69 64 2E 6E 65 74 2E  77 69 66 69 2E 57 69 66  oid.net.wifi.Wif</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF96E0</span>  <span class="code-snippet__string">69 49 6E 66 6F 00 00 00  00 00 00 00 00 00 00 00  iInfo...........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF96F0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 49  ............getI</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9700</span>  <span class="code-snippet__string">70 41 64 64 72 65 73 73  00 00 00 00 00 00 00 00  pAddress........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9710</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9720</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9730</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9740</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9750</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  11 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9760</span>  <span class="code-snippet__string">6F 69 64 2E 6E 65 74 2E  77 69 66 69 2E 57 69 66  oid.net.wifi.Wif</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9770</span>  <span class="code-snippet__string">69 49 6E 66 6F 00 00 00  00 00 00 00 00 00 00 00  iInfo...........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9780</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 53  ............getS</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9790</span>  <span class="code-snippet__string">53 49 44 00 00 00 00 00  00 00 00 00 00 00 00 00  SID.............</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF97A0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF97B0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF97C0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF97D0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF97E0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  12 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF97F0</span>  <span class="code-snippet__string">6F 69 64 2E 6E 65 74 2E  77 69 66 69 2E 57 69 66  oid.net.wifi.Wif</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9800</span>  <span class="code-snippet__string">69 49 6E 66 6F 00 00 00  00 00 00 00 00 00 00 00  iInfo...........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9810</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 42  ............getB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9820</span>  <span class="code-snippet__string">53 53 49 44 00 00 00 00  00 00 00 00 00 00 00 00  SSID............</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9830</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9840</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9850</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9860</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9870</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  13 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9880</span>  <span class="code-snippet__string">6F 69 64 2E 6E 65 74 2E  77 69 66 69 2E 57 69 66  oid.net.wifi.Wif</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9890</span>  <span class="code-snippet__string">69 4D 61 6E 61 67 65 72  00 00 00 00 00 00 00 00  iManager........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF98A0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 43  ............getC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF98B0</span>  <span class="code-snippet__string">6F 6E 6E 65 63 74 69 6F  6E 49 6E 66 6F 00 00 00  onnectionInfo...</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF98C0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF98D0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF98E0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF98F0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9900</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  14 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9910</span>  <span class="code-snippet__string">6F 69 64 2E 6E 65 74 2E  77 69 66 69 2E 57 69 66  oid.net.wifi.Wif</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9920</span>  <span class="code-snippet__string">69 4D 61 6E 61 67 65 72  00 00 00 00 00 00 00 00  iManager........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9930</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 44  ............getD</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9940</span>  <span class="code-snippet__string">68 63 70 49 6E 66 6F 00  00 00 00 00 00 00 00 00  hcpInfo.........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9950</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9960</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9970</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9980</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9990</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  15 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF99A0</span>  <span class="code-snippet__string">6F 69 64 2E 6E 65 74 2E  77 69 66 69 2E 57 69 66  oid.net.wifi.Wif</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF99B0</span>  <span class="code-snippet__string">69 4D 61 6E 61 67 65 72  00 00 00 00 00 00 00 00  iManager........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF99C0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 53  ............getS</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF99D0</span>  <span class="code-snippet__string">63 61 6E 52 65 73 75 6C  74 73 00 00 00 00 00 00  canResults......</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF99E0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF99F0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A00</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A10</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A20</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  16 00 00 00 6A 61 76 61  ............java</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A30</span>  <span class="code-snippet__string">2E 6E 65 74 2E 4E 65 74  77 6F 72 6B 49 6E 74 65  .net.NetworkInte</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A40</span>  <span class="code-snippet__string">72 66 61 63 65 00 00 00  00 00 00 00 00 00 00 00  rface...........</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A50</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 4E  ............getN</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A60</span>  <span class="code-snippet__string">65 74 77 6F 72 6B 49 6E  74 65 72 66 61 63 65 73  etworkInterfaces</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A70</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A80</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9A90</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9AA0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9AB0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  17 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9AC0</span>  <span class="code-snippet__string">6F 69 64 2E 6E 65 74 2E  50 72 6F 78 79 00 00 00  oid.net.Proxy...</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9AD0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9AE0</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 67 65 74 48  ............getH</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9AF0</span>  <span class="code-snippet__string">6F 73 74 00 00 00 00 00  00 00 00 00 00 00 00 00  ost.............</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9B00</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9B10</span>  <span class="code-snippet__string">6F 69 64 2E 63 6F 6E 74  65 6E 74 2E 43 6F 6E 74  oid.content.Cont</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9B20</span>  <span class="code-snippet__string">65 78 74 00 00 00 00 00  00 00 00 00 00 00 00 00  ext.............</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9B30</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9B40</span>  <span class="code-snippet__string">00 00 00 00 00 00 00 00  18 00 00 00 61 6E 64 72  ............andr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">000000709EDF9B50</span>  <span class="code-snippet__string">6F 69 64 2E 6E 65 74 2E  50 72 6F 78 79 00 00 00  oid.net.Proxy...</span></span></code></pre></section><p><span style="color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 700;letter-spacing: normal;orphans: 2;text-align: start;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;display: inline !important;float: none;">多层反射获取设备信息</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">双重反射获取设备信息</span></code><code><span class="code-snippet_outer">forName getDeclaredMethod getModifiers</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">.text:000000709EB03C70 62 9E 43 F9       LDR             X2, [X19,#0x738]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C74 64 3A 43 F9       LDR             X4, [X19,#0x670]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C78 60 6A 41 F9       LDR             X0, [X19,#0x2D0]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C7C 61 66 41 F9       LDR             X1, [X19,#0x2C8]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C80 63 EA 41 F9       LDR             X3, [X19,#0x3D0]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C84 68 62 01 F9       STR             X8, [X19,#0x2C0]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C88 69 5E 01 F9       STR             X9, [X19,#0x2B8]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C8C 6A 5A 01 F9       STR             X10, [X19,#0x2B0]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C90 6B AE 02 B9       STR             W11, [X19,#0x2AC]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C94 6C AA 02 B9       STR             W12, [X19,#0x2A8]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C98 6D A6 02 B9       STR             W13, [X19,#0x2A4]</span></code><code><span class="code-snippet_outer">.text:000000709EB03C9C D2 0D 00 94       BL              GetStaticMethodID_sub_786D1853E4 ; forName</span></code><code><span class="code-snippet_outer">.text:000000709EB0682C 0C 00 80 52       MOV             W12, #0</span></code><code><span class="code-snippet_outer">.text:000000709EB06830 60 86 43 F9       LDR             X0, [X19,#0x708]</span></code><code><span class="code-snippet_outer">.text:000000709EB06834 6D E6 46 B9       LDR             W13, [X19,#0x6E4]</span></code><code><span class="code-snippet_outer">.text:000000709EB06838 EE 03 0D 2A       MOV             W14, W13</span></code><code><span class="code-snippet_outer">.text:000000709EB0683C CE 7D 40 93       SXTW            X14, W14</span></code><code><span class="code-snippet_outer">.text:000000709EB06840 29 7D 0E 9B       MUL             X9, X9, X14</span></code><code><span class="code-snippet_outer">.text:000000709EB06844 6E B2 41 F9       LDR             X14, [X19,#0x360]</span></code><code><span class="code-snippet_outer">.text:000000709EB06848 C9 01 09 8B       ADD             X9, X14, X9</span></code><code><span class="code-snippet_outer">.text:000000709EB0684C 28 01 08 8B       ADD             X8, X9, X8</span></code><code><span class="code-snippet_outer">.text:000000709EB06850 E1 03 08 AA       MOV             X1, X8</span></code><code><span class="code-snippet_outer">.text:000000709EB06854 6C 72 00 B9       STR             W12, [X19,#0x70]</span></code><code><span class="code-snippet_outer">.text:000000709EB06858 6A 6E 00 B9       STR             W10, [X19,#0x6C]</span></code><code><span class="code-snippet_outer">.text:000000709EB0685C 6B 6A 00 B9       STR             W11, [X19,#0x68]</span></code><code><span class="code-snippet_outer">.text:000000709EB06860 A1 89 01 94       BL              NewStringUTF_sub_786D1E6EE4 ; 方法名</span></code><code><span class="code-snippet_outer">.text:000000709EB06860</span></code><code><span class="code-snippet_outer">.text:000000709EB06864 60 3A 02 F9       STR             X0, [X19,#0x470]</span></code><code><span class="code-snippet_outer">.text:000000709EB06868 68 86 43 F9       LDR             X8, [X19,#0x708]</span></code><code><span class="code-snippet_outer">.text:000000709EB0686C 08 01 40 F9       LDR             X8, [X8]</span></code><code><span class="code-snippet_outer">.text:000000709EB06870 00 85 40 F9       LDR             X0, [X8,#0x108]</span></code><code><span class="code-snippet_outer">.text:000000709EB06874 61 86 43 F9       LDR             X1, [X19,#0x708]</span></code><code><span class="code-snippet_outer">.text:000000709EB06878 62 7E 43 F9       LDR             X2, [X19,#0x6F8]</span></code><code><span class="code-snippet_outer">.text:000000709EB0687C 63 AE 41 F9       LDR             X3, [X19,#0x358]</span></code><code><span class="code-snippet_outer">.text:000000709EB06880 64 AA 41 F9       LDR             X4, [X19,#0x350]</span></code><code><span class="code-snippet_outer">.text:000000709EB06884 00 04 00 94       BL              GetMethodID_sub_709EB06884 ; getDeclaredMethod</span></code><code><span class="code-snippet_outer">.text:000000709EB06884</span></code><code><span class="code-snippet_outer">.text:000000709EB06888 60 36 02 F9       STR             X0, [X19,#0x468]</span></code><code><span class="code-snippet_outer">.text:000000709EB0688C 68 86 43 F9       LDR             X8, [X19,#0x708]</span></code><code><span class="code-snippet_outer">.text:000000709EB06890 08 01 40 F9       LDR             X8, [X8]</span></code><code><span class="code-snippet_outer">.text:000000709EB06894 00 91 43 F9       LDR             X0, [X8,#0x720]</span></code><code><span class="code-snippet_outer">.text:000000709EB06898 61 86 43 F9       LDR             X1, [X19,#0x708]</span></code><code><span class="code-snippet_outer">.text:000000709EB0689C 0E 04 00 94       BL              ExceptionCheck_sub_709EB068D4</span></code><code><span class="code-snippet_outer">.text:000000709EB06954 0A 00 80 52       MOV             W10, #0</span></code><code><span class="code-snippet_outer">.text:000000709EB06958 6B 86 43 F9       LDR             X11, [X19,#0x708]</span></code><code><span class="code-snippet_outer">.text:000000709EB0695C 6B 01 40 F9       LDR             X11, [X11]</span></code><code><span class="code-snippet_outer">.text:000000709EB06960 60 89 40 F9       LDR             X0, [X11,#0x110]</span></code><code><span class="code-snippet_outer">.text:000000709EB06964 61 86 43 F9       LDR             X1, [X19,#0x708]</span></code><code><span class="code-snippet_outer">.text:000000709EB06968 62 36 43 F9       LDR             X2, [X19,#0x668]</span></code><code><span class="code-snippet_outer">.text:000000709EB0696C 63 36 42 F9       LDR             X3, [X19,#0x468]</span></code><code><span class="code-snippet_outer">.text:000000709EB06970 64 3A 42 F9       LDR             X4, [X19,#0x470]</span></code><code><span class="code-snippet_outer">.text:000000709EB06974 65 22 43 F9       LDR             X5, [X19,#0x640]</span></code><code><span class="code-snippet_outer">.text:000000709EB06978 68 62 00 B9       STR             W8, [X19,#0x60]</span></code><code><span class="code-snippet_outer">.text:000000709EB0697C 69 5E 00 B9       STR             W9, [X19,#0x5C]</span></code><code><span class="code-snippet_outer">.text:000000709EB06980 6A 5A 00 B9       STR             W10, [X19,#0x58]</span></code><code><span class="code-snippet_outer">.text:000000709EB06984 E6 03 00 94       BL              CallObjectMethod_sub_709EB0691C ; 获取设备信息</span></code></pre></section><h6 data-source-line="2386" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">其它设备信息:</h6><p data-source-line="2387" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;">在跳出VM的Hadnle处下断点即可分析出获取其它的设备信息。</p><h5 data-source-line="2388" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">5.9、VM加密设备信息</span></h5><p data-source-line="2389" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">每获取一次设备信息加密一次，在VM中执行对应Handle加密。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text000000709EA93920 A8 02 40 B9                   LDR             W8, [X21]</span></code><code><span class="code-snippet_outer">.text:000000709EA93924 98 02 40 F9                   LDR             X24, [X20]</span></code><code><span class="code-snippet_outer">.text:000000709EA93928 09 91 03 51                   SUB             W9, W8, #0xE4</span></code><code><span class="code-snippet_outer">.text:000000709EA9392C 0A F1 01 51                   SUB             W10, W8, #0x7C ; &#39;|&#39;</span></code><code><span class="code-snippet_outer">.text:000000709EA93930 3F 81 00 71                   CMP             W9, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">.text:000000709EA93934 48 31 88 1A                   CSEL            W8, W10, W8, CC</span></code><code><span class="code-snippet_outer">.text:000000709EA93938 09 1D 03 51                   SUB             W9, W8, #0xC7</span></code><code><span class="code-snippet_outer">.text:000000709EA9393C 3F 71 00 71                   CMP             W9, #0x1C</span></code><code><span class="code-snippet_outer">.text:000000709EA93940 A8 00 00 54                   B.HI            loc_709EA93954</span></code><code><span class="code-snippet_outer">.text:000000709EA93940</span></code><code><span class="code-snippet_outer">.text:000000709EA93944 C8 4E 29 8B                   ADD             X8, X22, W9,UXTW#3</span></code><code><span class="code-snippet_outer">.text:000000709EA93948 08 21 40 F9                   LDR             X8, [X8,#0x40] ; 值的基址，取值</span></code><code><span class="code-snippet_outer">.text:000000709EA9394C 08 03 00 F9                   STR             X8, [X24]     ; 存值</span></code><code><span class="code-snippet_outer">.text:000000709EA93950 37 00 00 14                   B               loc_709EA93A2C</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">.text:000000709EA941E4                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA941E4 68 00 02 8B                   ADD             X8, X3, X2</span></code><code><span class="code-snippet_outer">.text:000000709EA941E8 28 00 00 F9                   STR             X8, [X1]</span></code><code><span class="code-snippet_outer">.text:000000709EA941EC C0 03 5F D6                   RET</span></code><code><span class="code-snippet_outer">.text:000000709EA941EC                               ; } // starts at 709EA941E4</span></code><code><span class="code-snippet_outer">.text:000000709EA941EC</span></code><code><span class="code-snippet_outer">.text:000000709EA941EC</span></code><code><span class="code-snippet_outer">.text:000000709EA941F0</span></code><code><span class="code-snippet_outer">.text:000000709EA941F0</span></code><code><span class="code-snippet_outer">.text:000000709EA941F0</span></code><code><span class="code-snippet_outer">.text:000000709EA941F0                               sub_709EA941F0</span></code><code><span class="code-snippet_outer">.text:000000709EA941F0                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA941F0 48 00 03 CB                   SUB             X8, X2, X3</span></code><code><span class="code-snippet_outer">.text:000000709EA941F4 28 00 00 F9                   STR             X8, [X1]</span></code><code><span class="code-snippet_outer">.text:000000709EA941F8 C0 03 5F D6                   RET</span></code><code><span class="code-snippet_outer">.text:000000709EA941F8                               ; } // starts at 709EA941F0</span></code><code><span class="code-snippet_outer">.text:000000709EA941F8</span></code><code><span class="code-snippet_outer">.text:000000709EA941F8                               ; End of function sub_709EA941F0</span></code><code><span class="code-snippet_outer">.text:000000709EA941F8</span></code><code><span class="code-snippet_outer">.text:000000709EA941FC</span></code><code><span class="code-snippet_outer">.text:000000709EA941FC</span></code><code><span class="code-snippet_outer">.text:000000709EA941FC</span></code><code><span class="code-snippet_outer">.text:000000709EA941FC                               SUB_sub_709EA941FC</span></code><code><span class="code-snippet_outer">.text:000000709EA941FC                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA941FC 48 00 03 CB                   SUB             X8, X2, X3</span></code><code><span class="code-snippet_outer">.text:000000709EA94200 28 00 00 F9                   STR             X8, [X1]</span></code><code><span class="code-snippet_outer">.text:000000709EA94204 C0 03 5F D6                   RET</span></code><code><span class="code-snippet_outer">.text:000000709EA94204                               ; } // starts at 709EA941FC</span></code><code><span class="code-snippet_outer">.text:000000709EA94204</span></code><code><span class="code-snippet_outer">.text:000000709EA94204                               ; End of function SUB_sub_709EA941FC</span></code><code><span class="code-snippet_outer">.text:000000709EA94204</span></code><code><span class="code-snippet_outer">.text:000000709EA94208                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA94208 E8 03 01 2A                   MOV             W8, W1</span></code><code><span class="code-snippet_outer">.text:000000709EA9420C 3F 34 00 71                   CMP             W1, #0xD      ; switch 14 cases</span></code><code><span class="code-snippet_outer">.text:000000709EA94210 E8 04 00 54                   B.HI            def_709EA94224 ;</span></code><code><span class="code-snippet_outer">.text:000000709EA94210</span></code><code><span class="code-snippet_outer">.text:000000709EA94214 29 00 00 F0 29 C1 38 91       ADRL            X9, jpt_709EA94224</span></code><code><span class="code-snippet_outer">.text:000000709EA9421C 28 79 A8 B8                   LDRSW           X8, [X9,X8,LSL#2]</span></code><code><span class="code-snippet_outer">.text:000000709EA94220 08 01 09 8B                   ADD             X8, X8, X9</span></code><code><span class="code-snippet_outer">.text:000000709EA94224 00 01 1F D6                   BR              X8            ; switch jump</span></code></pre></section><h3 data-source-line="2448" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.43;font-size: 1.5em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">六、加密流程分析</span></h3><h5 data-source-line="2449" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">6.1、压缩设备数据</span></h5><h6 data-source-line="2450" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">计算设备信息CRC与设备数据组合</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:000000709EB765F8                   EncData_sub_70576365F8 </span></code><code><span class="code-snippet_outer">.text:000000709EB765F8                   ; __unwind { // 1000</span></code><code><span class="code-snippet_outer">.text:000000709EB765F8 28 7A AB 52 A8 32+MOV             W8, #0x5BD1E995</span></code><code><span class="code-snippet_outer">.text:000000709EB765F8 9D 72</span></code><code><span class="code-snippet_outer">.text:000000709EB76600 49 00 01 4A       EOR             W9, W2, W1</span></code><code><span class="code-snippet_outer">.text:000000709EB76604 2A 10 00 71       SUBS            W10, W1, #4</span></code><code><span class="code-snippet_outer">.text:000000709EB76608 E3 01 00 54       B.CC            loc_709EB76644</span></code><code><span class="code-snippet_outer">.text:000000709EB76608</span></code><code><span class="code-snippet_outer">.text:000000709EB7660C 4B 75 1E 12       AND             W11, W10, #0xFFFFFFFC</span></code><code><span class="code-snippet_outer">.text:000000709EB76610 6C 11 00 91       ADD             X12, X11, #4</span></code><code><span class="code-snippet_outer">.text:000000709EB76614 ED 03 00 AA       MOV             X13, X0</span></code><code><span class="code-snippet_outer">.text:000000709EB76614</span></code><code><span class="code-snippet_outer">.text:000000709EB76618</span></code><code><span class="code-snippet_outer">.text:000000709EB76618                   loc_709EB76618 </span></code><code><span class="code-snippet_outer">.text:000000709EB76618 AE 45 40 B8       LDR             W14, [X13],#4</span></code><code><span class="code-snippet_outer">.text:000000709EB7661C 29 7D 08 1B       MUL             W9, W9, W8</span></code><code><span class="code-snippet_outer">.text:000000709EB76620 21 10 00 51       SUB             W1, W1, #4</span></code><code><span class="code-snippet_outer">.text:000000709EB76624 CE 7D 08 1B       MUL             W14, W14, W8</span></code><code><span class="code-snippet_outer">.text:000000709EB76628 CE 61 4E 4A       EOR             W14, W14, W14,LSR#24</span></code><code><span class="code-snippet_outer">.text:000000709EB7662C CE 7D 08 1B       MUL             W14, W14, W8</span></code><code><span class="code-snippet_outer">.text:000000709EB76630 C9 01 09 4A       EOR             W9, W14, W9</span></code><code><span class="code-snippet_outer">.text:000000709EB76634 3F 0C 00 71       CMP             W1, #3</span></code><code><span class="code-snippet_outer">.text:000000709EB76638 08 FF FF 54       B.HI            loc_709EB76618</span></code><code><span class="code-snippet_outer">.text:000000709EB76638</span></code><code><span class="code-snippet_outer">.text:000000709EB7663C 41 01 0B 4B       SUB             W1, W10, W11</span></code><code><span class="code-snippet_outer">.text:000000709EB76640 00 00 0C 8B       ADD             X0, X0, X12</span></code><code><span class="code-snippet_outer">.text:000000709EB76640</span></code><code><span class="code-snippet_outer">.text:000000709EB76644</span></code><code><span class="code-snippet_outer">.text:000000709EB76644                   loc_709EB76644 </span></code><code><span class="code-snippet_outer">.text:000000709EB76644 3F 04 00 71       CMP             W1, #1</span></code><code><span class="code-snippet_outer">.text:000000709EB76648 20 01 00 54       B.EQ            loc_709EB7666C</span></code><code><span class="code-snippet_outer">.text:000000709EB76648</span></code><code><span class="code-snippet_outer">.text:000000709EB7664C 3F 08 00 71       CMP             W1, #2</span></code><code><span class="code-snippet_outer">.text:000000709EB76650 A0 00 00 54       B.EQ            loc_709EB76664</span></code><code><span class="code-snippet_outer">.text:000000709EB76650</span></code><code><span class="code-snippet_outer">.text:000000709EB76654 3F 0C 00 71       CMP             W1, #3</span></code><code><span class="code-snippet_outer">.text:000000709EB76658 01 01 00 54       B.NE            loc_709EB76678</span></code><code><span class="code-snippet_outer">.text:000000709EB76658</span></code><code><span class="code-snippet_outer">.text:000000709EB7665C 0A 08 40 39       LDRB            W10, [X0,#2]</span></code><code><span class="code-snippet_outer">.text:000000709EB76660 29 41 0A 4A       EOR             W9, W9, W10,LSL#16</span></code><code><span class="code-snippet_outer">.text:000000709EB76660</span></code><code><span class="code-snippet_outer">.text:000000709EB76664</span></code><code><span class="code-snippet_outer">.text:000000709EB76664                   loc_709EB76664</span></code><code><span class="code-snippet_outer">.text:000000709EB76664 0A 04 40 39       LDRB            W10, [X0,#1]</span></code><code><span class="code-snippet_outer">.text:000000709EB76668 29 21 0A 4A       EOR             W9, W9, W10,LSL#8</span></code><code><span class="code-snippet_outer">.text:000000709EB76668</span></code><code><span class="code-snippet_outer">.text:000000709EB7666C</span></code><code><span class="code-snippet_outer">.text:000000709EB7666C                   loc_709EB7666C </span></code><code><span class="code-snippet_outer">.text:000000709EB7666C 0A 00 40 39       LDRB            W10, [X0]</span></code><code><span class="code-snippet_outer">.text:000000709EB76670 49 01 09 4A       EOR             W9, W10, W9</span></code><code><span class="code-snippet_outer">.text:000000709EB76674 29 7D 08 1B       MUL             W9, W9, W8</span></code><code><span class="code-snippet_outer">.text:000000709EB76674</span></code><code><span class="code-snippet_outer">.text:000000709EB76678</span></code><code><span class="code-snippet_outer">.text:000000709EB76678                   loc_709EB76678 </span></code><code><span class="code-snippet_outer">.text:000000709EB76678 29 35 49 4A       EOR             W9, W9, W9,LSR#13</span></code><code><span class="code-snippet_outer">.text:000000709EB7667C 28 7D 08 1B       MUL             W8, W9, W8</span></code><code><span class="code-snippet_outer">.text:000000709EB76680 00 3D 48 4A       EOR             W0, W8, W8,LSR#15</span></code><code><span class="code-snippet_outer">.text:000000709EB76684 C0 03 5F D6       RET</span></code></pre></section><p data-source-line="2387" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 700;letter-spacing: normal;orphans: 2;text-align: start;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;display: inline !important;float: none;">压缩组合后设备数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">__int64 __fastcall sub_705762D9DC(__int64 a1, _QWORD *a2, __int64 a3, __int64 a4, unsigned int a5)</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  int v5; // w8</span></code><code><span class="code-snippet_outer">  int v6; // w0</span></code><code><span class="code-snippet_outer">  int v7; // w0</span></code><code><span class="code-snippet_outer">  int v8; // w11</span></code><code><span class="code-snippet_outer">  unsigned int v10; // [xsp+54h] [xbp-CCh]</span></code><code><span class="code-snippet_outer">  int i; // [xsp+58h] [xbp-C8h]</span></code><code><span class="code-snippet_outer">  unsigned int v12; // [xsp+5Ch] [xbp-C4h]</span></code><code><span class="code-snippet_outer">  __int64 v13; // [xsp+60h] [xbp-C0h] BYREF</span></code><code><span class="code-snippet_outer">  int v14; // [xsp+68h] [xbp-B8h]</span></code><code><span class="code-snippet_outer">  __int64 v15; // [xsp+78h] [xbp-A8h]</span></code><code><span class="code-snippet_outer">  unsigned int v16; // [xsp+80h] [xbp-A0h]</span></code><code><span class="code-snippet_outer">  __int64 v17; // [xsp+88h] [xbp-98h]</span></code><code><span class="code-snippet_outer">  __int64 v18; // [xsp+A0h] [xbp-80h]</span></code><code><span class="code-snippet_outer">  __int64 v19; // [xsp+A8h] [xbp-78h]</span></code><code><span class="code-snippet_outer">  __int64 v20; // [xsp+B0h] [xbp-70h]</span></code><code><span class="code-snippet_outer">  unsigned int v21; // [xsp+D4h] [xbp-4Ch]</span></code><code><span class="code-snippet_outer">  __int64 v22; // [xsp+D8h] [xbp-48h]</span></code><code><span class="code-snippet_outer">  __int64 v23; // [xsp+E0h] [xbp-40h]</span></code><code><span class="code-snippet_outer">  _QWORD *v24; // [xsp+E8h] [xbp-38h]</span></code><code><span class="code-snippet_outer">  __int64 v25; // [xsp+F0h] [xbp-30h]</span></code><code><span class="code-snippet_outer">  unsigned int v26; // [xsp+FCh] [xbp-24h]</span></code><code><span class="code-snippet_outer">  __int64 v27; // [xsp+100h] [xbp-20h]</span></code><code><span class="code-snippet_outer">  __int64 v28; // [xsp+108h] [xbp-18h]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  v25 = a1;</span></code><code><span class="code-snippet_outer">  v24 = a2;</span></code><code><span class="code-snippet_outer">  v23 = a3;</span></code><code><span class="code-snippet_outer">  v22 = a4;</span></code><code><span class="code-snippet_outer">  v21 = a5;</span></code><code><span class="code-snippet_outer">  v13 = a3;</span></code><code><span class="code-snippet_outer">  v14 = a4;</span></code><code><span class="code-snippet_outer">  v15 = a1;</span></code><code><span class="code-snippet_outer">  v16 = *a2;</span></code><code><span class="code-snippet_outer">  v27 = v16;</span></code><code><span class="code-snippet_outer">  v28 = *a2;</span></code><code><span class="code-snippet_outer">  for ( i = 1425515106; ; i = 2121135395 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    while ( 1 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      while ( 1 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        while ( 1 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          while ( 1 )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            while ( 1 )</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              while ( 1 )</span></code><code><span class="code-snippet_outer">              {</span></code><code><span class="code-snippet_outer">                while ( 1 )</span></code><code><span class="code-snippet_outer">                {</span></code><code><span class="code-snippet_outer">                  while ( 1 )</span></code><code><span class="code-snippet_outer">                  {</span></code><code><span class="code-snippet_outer">                    while ( i == 1425515106 )</span></code><code><span class="code-snippet_outer">                    {</span></code><code><span class="code-snippet_outer">                      if ( v27 == v28 )</span></code><code><span class="code-snippet_outer">                        v5 = 1946294605;</span></code><code><span class="code-snippet_outer">                      else</span></code><code><span class="code-snippet_outer">                        v5 = 711699392;</span></code><code><span class="code-snippet_outer">                      i = v5;</span></code><code><span class="code-snippet_outer">                    }</span></code><code><span class="code-snippet_outer">                    if ( i != 711699392 )</span></code><code><span class="code-snippet_outer">                      break;</span></code><code><span class="code-snippet_outer">                    v26 = -5;</span></code><code><span class="code-snippet_outer">                    i = 2121135395;</span></code><code><span class="code-snippet_outer">                  }</span></code><code><span class="code-snippet_outer">                  if ( i != 1946294605 )</span></code><code><span class="code-snippet_outer">                    break;</span></code><code><span class="code-snippet_outer">                  v18 = 0LL;</span></code><code><span class="code-snippet_outer">                  v19 = 0LL;</span></code><code><span class="code-snippet_outer">                  v20 = 0LL;</span></code><code><span class="code-snippet_outer">                  v12 = sub_709EB6DFD8(&amp;v13, v21, &#34;2.3.3&#34;, 112LL);</span></code><code><span class="code-snippet_outer">                  if ( v12 )</span></code><code><span class="code-snippet_outer">                    v6 = 1708398168;</span></code><code><span class="code-snippet_outer">                  else</span></code><code><span class="code-snippet_outer">                    v6 = -1398807773;</span></code><code><span class="code-snippet_outer">                  i = v6;</span></code><code><span class="code-snippet_outer">                }</span></code><code><span class="code-snippet_outer">                if ( i != 1708398168 )</span></code><code><span class="code-snippet_outer">                  break;</span></code><code><span class="code-snippet_outer">                v26 = v12;</span></code><code><span class="code-snippet_outer">                i = 2121135395;</span></code><code><span class="code-snippet_outer">              }</span></code><code><span class="code-snippet_outer">              if ( i != -1398807773 )</span></code><code><span class="code-snippet_outer">                break;</span></code><code><span class="code-snippet_outer">              v12 = sub_709EB6ECDC(&amp;v13, 4LL);</span></code><code><span class="code-snippet_outer">              if ( v12 == 1 )</span></code><code><span class="code-snippet_outer">                v7 = 1641238281;</span></code><code><span class="code-snippet_outer">              else</span></code><code><span class="code-snippet_outer">                v7 = -1560729400;</span></code><code><span class="code-snippet_outer">              i = v7;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">            if ( i != -1560729400 )</span></code><code><span class="code-snippet_outer">              break;</span></code><code><span class="code-snippet_outer">            sub_709EB6E244(&amp;v13);</span></code><code><span class="code-snippet_outer">            if ( v12 )</span></code><code><span class="code-snippet_outer">              v8 = -1477061934;</span></code><code><span class="code-snippet_outer">            else</span></code><code><span class="code-snippet_outer">              v8 = -1711647064;</span></code><code><span class="code-snippet_outer">            i = v8;</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          if ( i != -1711647064 )</span></code><code><span class="code-snippet_outer">            break;</span></code><code><span class="code-snippet_outer">          i = 584363032;</span></code><code><span class="code-snippet_outer">          v10 = -5;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        if ( i != -1477061934 )</span></code><code><span class="code-snippet_outer">          break;</span></code><code><span class="code-snippet_outer">        i = 584363032;</span></code><code><span class="code-snippet_outer">        v10 = v12;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      if ( i != 584363032 )</span></code><code><span class="code-snippet_outer">        break;</span></code><code><span class="code-snippet_outer">      v26 = v10;</span></code><code><span class="code-snippet_outer">      i = 2121135395;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( i != 1641238281 )</span></code><code><span class="code-snippet_outer">      break;</span></code><code><span class="code-snippet_outer">    *v24 = v17;</span></code><code><span class="code-snippet_outer">    v12 = sub_709EB6E244(&amp;v13);</span></code><code><span class="code-snippet_outer">    v26 = v12;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  return v26;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h5 data-source-line="2640" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">6.2、生成AES KEY IV</span></h5><p data-source-line="2641" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;">随机数组合生成AES KEY IV</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">gettimeofday</span></code><code><span class="code-snippet_outer">srand</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">.text:000000709EB328A0                   sprintf_sub_70575F28A0</span></code><code><span class="code-snippet_outer">.text:000000709EB328A0</span></code><code><span class="code-snippet_outer">.text:000000709EB328A0                   var_24= -0x24</span></code><code><span class="code-snippet_outer">.text:000000709EB328A0                   format= -0x20</span></code><code><span class="code-snippet_outer">.text:000000709EB328A0                   s= -0x18</span></code><code><span class="code-snippet_outer">.text:000000709EB328A0                   var_10= -0x10</span></code><code><span class="code-snippet_outer">.text:000000709EB328A0</span></code><code><span class="code-snippet_outer">.text:000000709EB328A0                   ; __unwind { // 1000</span></code><code><span class="code-snippet_outer">.text:000000709EB328A0 FF C3 00 D1       SUB             SP, SP, #0x30</span></code><code><span class="code-snippet_outer">.text:000000709EB328A4 FE 13 00 F9       STR             X30, [SP,#0x30+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB328A8 E0 0F 00 F9       STR             X0, [SP,#0x30+s]</span></code><code><span class="code-snippet_outer">.text:000000709EB328AC E1 0B 00 F9       STR             X1, [SP,#0x30+format]</span></code><code><span class="code-snippet_outer">.text:000000709EB328B0 E2 0F 00 B9       STR             W2, [SP,#0x30+var_24]</span></code><code><span class="code-snippet_outer">.text:000000709EB328B4 E0 0F 40 F9       LDR             X0, [SP,#0x30+s] ; s</span></code><code><span class="code-snippet_outer">.text:000000709EB328B8 E1 0B 40 F9       LDR             X1, [SP,#0x30+format] ; format</span></code><code><span class="code-snippet_outer">.text:000000709EB328BC E2 0F 40 B9       LDR             W2, [SP,#0x30+var_24]</span></code><code><span class="code-snippet_outer">.text:000000709EB328C0 98 B6 FE 97       BL              .sprintf</span></code><code><span class="code-snippet_outer">.text:000000709EB328C0</span></code><code><span class="code-snippet_outer">.text:000000709EB328C4 FE 13 40 F9       LDR             X30, [SP,#0x30+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB328C8 FF C3 00 91       ADD             SP, SP, #0x30 ; &#39;0&#39;</span></code><code><span class="code-snippet_outer">.text:000000709EB328CC C0 03 5F D6       RET</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//生成随机数AES KEY IV</span></code><code><span class="code-snippet_outer">fda958f6-07e5-47 KEY</span></code><code><span class="code-snippet_outer">e4ae2f7b-96b5-4a IV</span></code></pre></section><h5 data-source-line="2672" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">6.3、RSA加密AES KEY IV</span></h5><p data-source-line="2673" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">将随机数AES KEY IV组合成一个字符串fda958f6-07e5-47e4ae2f7b-96b5-4a，RSA私钥加密该字符串。<br style="box-sizing: border-box;"/>RSA私钥(隐去部分)：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBALE2OfQ8BYg9Lq4nKGTamXyia6raCc1adzCOsFrnk/VN0s2W8yQJfYdq+QUNRHv0zANW0Uafh7nHCWeBn/GOC26xTsUku3/ElECGthT5ED0MOO8EQ6dhci4So/Y/fNuAczqDFk5RKRbmo1gz7xuCdUTQYmD+h1cjl95HGrY6TMinAgMBAAECgYBCHYwjvh0GRmVbHkrozdID+QkYdj6/+eeMG0BauhmupLlocNAH+u51joiXxOpvINbYzBRKOAzIWCT/FBKbabaDl5IhuUwV+CJ90SBLAbs/Wd+QjnUhXbyKb+Tm3+Uz2y26xWc7XdhGNe3Wjyz2+fN8CbfdC2SlUnibADOEQXJFIQJBAOUgSH/+uyIJKo6DOHJSfrhDlYX875H4Yq8ifuS1R7hQcK5T8sYV/OIzTRSvFaYL+FG8nA9vr8rulojcDPYzqrcCQQDF/yuUtb1wliR+zH7iE/5pv0dGfuwhSec777TYuLEP6VnX68zI/Kyq2JdIYYO7MidjH4bFd50NnRacHi3AtKGRAkEAiU+Gg0Y6CVSq70sOSdzMWksOUYTaYYUURtaKay+Ecp2qWZ6vkCxfJ4QM/odKlv73aqx4bfvFwvymtBADqIwgEwJBAIHtZq3ZbQz6mcxTaVf2Atdl2+HY3B8kHgdoz2YAHMDyQjC83c9ub+hU5UFsLEOlL8+OGqRuT7NlSDb+Xsu8POECQQDPcNOysMNbrLh1mGe6ydUsojSbheAIOZPQ/lhUbhzPXAXTYaPkTq7uty6SYZOMtWLxIFZ1eA9HHm3tJOCgC888</span></code></pre></section><p data-source-line="2641" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;">反射调用JAVA加密:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:000000709EB328D0                   decode_sub_70575F28D0</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0                   var_3C= -0x3C</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0                   var_38= -0x38</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0                   var_30= -0x30</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0                   var_28= -0x28</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0                   var_20= -0x20</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0                   var_18= -0x18</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0                   var_10= -0x10</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0                   ; __unwind { // 1000</span></code><code><span class="code-snippet_outer">.text:000000709EB328D0 FF 03 01 D1       SUB             SP, SP, #0x40</span></code><code><span class="code-snippet_outer">.text:000000709EB328D4 FE 1B 00 F9       STR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB328D8 E0 17 00 F9       STR             X0, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EB328DC E1 13 00 F9       STR             X1, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EB328E0 E2 0F 00 F9       STR             X2, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EB328E4 E3 0B 00 F9       STR             X3, [SP,#0x40+var_30]</span></code><code><span class="code-snippet_outer">.text:000000709EB328E8 E4 07 00 F9       STR             X4, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EB328EC E5 07 00 B9       STR             W5, [SP,#0x40+var_3C]</span></code><code><span class="code-snippet_outer">.text:000000709EB328F0 E0 17 40 F9       LDR             X0, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EB328F4 E1 13 40 F9       LDR             X1, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EB328F8 E2 0F 40 F9       LDR             X2, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EB328FC E3 0B 40 F9       LDR             X3, [SP,#0x40+var_30]</span></code><code><span class="code-snippet_outer">.text:000000709EB32900 E4 07 40 F9       LDR             X4, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EB32904 E5 07 40 B9       LDR             W5, [SP,#0x40+var_3C]</span></code><code><span class="code-snippet_outer">.text:000000709EB32908 2B 83 00 94       BL              CallObjectMethod_sub_786D1D15B4</span></code><code><span class="code-snippet_outer">.text:000000709EB32908</span></code><code><span class="code-snippet_outer">.text:000000709EB3290C FE 1B 40 F9       LDR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB32910 FF 03 01 91       ADD             SP, SP, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">.text:000000709EB32914 C0 03 5F D6       RET</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">.text:000000709EB32958                   getInstance_sub_70575F2958</span></code><code><span class="code-snippet_outer">.text:000000709EB32958</span></code><code><span class="code-snippet_outer">.text:000000709EB32958                   var_38= -0x38</span></code><code><span class="code-snippet_outer">.text:000000709EB32958                   var_30= -0x30</span></code><code><span class="code-snippet_outer">.text:000000709EB32958                   var_28= -0x28</span></code><code><span class="code-snippet_outer">.text:000000709EB32958                   var_20= -0x20</span></code><code><span class="code-snippet_outer">.text:000000709EB32958                   var_18= -0x18</span></code><code><span class="code-snippet_outer">.text:000000709EB32958                   var_10= -0x10</span></code><code><span class="code-snippet_outer">.text:000000709EB32958</span></code><code><span class="code-snippet_outer">.text:000000709EB32958                   ; __unwind { // 1000</span></code><code><span class="code-snippet_outer">.text:000000709EB32958 FF 03 01 D1       SUB             SP, SP, #0x40</span></code><code><span class="code-snippet_outer">.text:000000709EB3295C FE 1B 00 F9       STR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB32960 E0 17 00 F9       STR             X0, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EB32964 E1 13 00 F9       STR             X1, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EB32968 E2 0F 00 F9       STR             X2, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EB3296C E3 0B 00 F9       STR             X3, [SP,#0x40+var_30]</span></code><code><span class="code-snippet_outer">.text:000000709EB32970 E4 07 00 F9       STR             X4, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EB32974 E0 17 40 F9       LDR             X0, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EB32978 E1 13 40 F9       LDR             X1, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EB3297C E2 0F 40 F9       LDR             X2, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EB32980 E3 0B 40 F9       LDR             X3, [SP,#0x40+var_30]</span></code><code><span class="code-snippet_outer">.text:000000709EB32984 E4 07 40 F9       LDR             X4, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EB32988 0B 83 00 94       BL              CallObjectMethod_sub_786D1D15B4</span></code><code><span class="code-snippet_outer">.text:000000709EB32988</span></code><code><span class="code-snippet_outer">.text:000000709EB3298C FE 1B 40 F9       LDR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB32990 FF 03 01 91       ADD             SP, SP, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">.text:000000709EB32994 C0 03 5F D6       RET</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">.text:000000709EB32998                   generatePrivate_sub_70575F2998</span></code><code><span class="code-snippet_outer">.text:000000709EB32998</span></code><code><span class="code-snippet_outer">.text:000000709EB32998                   var_38= -0x38</span></code><code><span class="code-snippet_outer">.text:000000709EB32998                   var_30= -0x30</span></code><code><span class="code-snippet_outer">.text:000000709EB32998                   var_28= -0x28</span></code><code><span class="code-snippet_outer">.text:000000709EB32998                   var_20= -0x20</span></code><code><span class="code-snippet_outer">.text:000000709EB32998                   var_18= -0x18</span></code><code><span class="code-snippet_outer">.text:000000709EB32998                   var_10= -0x10</span></code><code><span class="code-snippet_outer">.text:000000709EB32998</span></code><code><span class="code-snippet_outer">.text:000000709EB32998                   ; __unwind { // 1000</span></code><code><span class="code-snippet_outer">.text:000000709EB32998 FF 03 01 D1       SUB             SP, SP, #0x40</span></code><code><span class="code-snippet_outer">.text:000000709EB3299C FE 1B 00 F9       STR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB329A0 E0 17 00 F9       STR             X0, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EB329A4 E1 13 00 F9       STR             X1, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EB329A8 E2 0F 00 F9       STR             X2, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EB329AC E3 0B 00 F9       STR             X3, [SP,#0x40+var_30]</span></code><code><span class="code-snippet_outer">.text:000000709EB329B0 E4 07 00 F9       STR             X4, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EB329B4 E0 17 40 F9       LDR             X0, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EB329B8 E1 13 40 F9       LDR             X1, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EB329BC E2 0F 40 F9       LDR             X2, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EB329C0 E3 0B 40 F9       LDR             X3, [SP,#0x40+var_30]</span></code><code><span class="code-snippet_outer">.text:000000709EB329C4 E4 07 40 F9       LDR             X4, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EB329C8 B5 7C 00 94       BL              calljavamethond_sub_786D1CFC9C</span></code><code><span class="code-snippet_outer">.text:000000709EB329C8</span></code><code><span class="code-snippet_outer">.text:000000709EB329CC FE 1B 40 F9       LDR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB329D0 FF 03 01 91       ADD             SP, SP, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">.text:000000709EB329D4 C0 03 5F D6       RET</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">.text:000000709EB32A60                   doFinal_sub_70575F2A60 </span></code><code><span class="code-snippet_outer">.text:000000709EB32A60</span></code><code><span class="code-snippet_outer">.text:000000709EB32A60                   var_38= -0x38</span></code><code><span class="code-snippet_outer">.text:000000709EB32A60                   var_30= -0x30</span></code><code><span class="code-snippet_outer">.text:000000709EB32A60                   var_28= -0x28</span></code><code><span class="code-snippet_outer">.text:000000709EB32A60                   var_20= -0x20</span></code><code><span class="code-snippet_outer">.text:000000709EB32A60                   var_18= -0x18</span></code><code><span class="code-snippet_outer">.text:000000709EB32A60                   var_10= -0x10</span></code><code><span class="code-snippet_outer">.text:000000709EB32A60</span></code><code><span class="code-snippet_outer">.text:000000709EB32A60                   ; __unwind { // 1000</span></code><code><span class="code-snippet_outer">.text:000000709EB32A60 FF 03 01 D1       SUB             SP, SP, #0x40</span></code><code><span class="code-snippet_outer">.text:000000709EB32A64 FE 1B 00 F9       STR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A68 E0 17 00 F9       STR             X0, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A6C E1 13 00 F9       STR             X1, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A70 E2 0F 00 F9       STR             X2, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A74 E3 0B 00 F9       STR             X3, [SP,#0x40+var_30]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A78 E4 07 00 F9       STR             X4, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A7C E0 17 40 F9       LDR             X0, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A80 E1 13 40 F9       LDR             X1, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A84 E2 0F 40 F9       LDR             X2, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A88 E3 0B 40 F9       LDR             X3, [SP,#0x40+var_30]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A8C E4 07 40 F9       LDR             X4, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A90 83 7C 00 94       BL              calljavamethond_sub_786D1CFC9C</span></code><code><span class="code-snippet_outer">.text:000000709EB32A90</span></code><code><span class="code-snippet_outer">.text:000000709EB32A94 FE 1B 40 F9       LDR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EB32A98 FF 03 01 91       ADD             SP, SP, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">.text:000000709EB32A9C C0 03 5F D6       RET</span></code></pre></section><p data-source-line="2641" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;">RSA私钥加密后的AES KEY IV：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">00000000   98 93 1B 85 66 82 76 26  88 2B 09 13 AA 22 4E 76  </span></code><code><span class="code-snippet_outer">00000020   9B 3F 47 93 8B A7 CD D7  A6 48 3D C9 70 55 29 6A </span></code><code><span class="code-snippet_outer">00000040   57 B7 65 AE F4 3E 2C CB  5C E1 CD 6B 57 B5 86 2F  </span></code><code><span class="code-snippet_outer">00000060   1D 81 FC A3 56 27 64 13  27 42 A0 84 C3 23 CD 0D</span></code><code><span class="code-snippet_outer">00000080   05 D1 0D B0 22 36 FE 36  B5 17 61 6F 19 14 1D B1  </span></code><code><span class="code-snippet_outer">00000100   67 A0 1F F4 F2 09 83 CA  C1 9A C4 64 14 F4 54 7D </span></code><code><span class="code-snippet_outer">00000120   DA</span></code></pre></section><h5 data-source-line="2807" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">6.4、AES加密压缩后设备数据</span></h5><p data-source-line="2808" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;">用随机数生成的KEY加密压缩后的设备数据：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">// X0:key,x1:长度,X2:返回值</span></code><code><span class="code-snippet_outer">__int64 __fastcall AES_initkey_sub_70576377C8(unsigned int *a1, int a2, unsigned int *a3)</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  unsigned int v3; // w8</span></code><code><span class="code-snippet_outer">  unsigned int v29; // w17</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  v3 = -1;</span></code><code><span class="code-snippet_outer">  if ( a1 &amp;&amp; a3 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( a2 != 128 &amp;&amp; a2 != 256 &amp;&amp; a2 != 192 )</span></code><code><span class="code-snippet_outer">      return 4294967294LL;</span></code><code><span class="code-snippet_outer">    if ( a2 == 128 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v4 = 10;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    else if ( a2 == 192 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v4 = 12;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    else</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v4 = 14;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    a3[60] = v4;</span></code><code><span class="code-snippet_outer">    v6 = _byteswap_ulong(*a1);</span></code><code><span class="code-snippet_outer">    *a3 = v6;</span></code><code><span class="code-snippet_outer">    a3[1] = _byteswap_ulong(a1[1]);</span></code><code><span class="code-snippet_outer">    a3[2] = _byteswap_ulong(a1[2]);</span></code><code><span class="code-snippet_outer">    a3[3] = _byteswap_ulong(a1[3]);</span></code><code><span class="code-snippet_outer">    if ( a2 == 128 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v7 = 0LL;</span></code><code><span class="code-snippet_outer">      v8 = a3 + 4;</span></code><code><span class="code-snippet_outer">      do</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v9 = *(v8 - 1);</span></code><code><span class="code-snippet_outer">        v6 ^= dword_709EBD4F74[BYTE2(v9)] &amp; 0xFF000000 ^ dword_709EBD5374[BYTE1(v9)] &amp; 0xFF0000 ^ dword_709EBD5774[(unsigned __int8)v9] &amp; 0xFF00 ^ byte_709EBD5B74[4 * HIBYTE(v9)] ^ *(_DWORD *)((char *)&amp;unk_709EBD5F74 + v7);</span></code><code><span class="code-snippet_outer">        v10 = *(v8 - 2);</span></code><code><span class="code-snippet_outer">        v7 += 4LL;</span></code><code><span class="code-snippet_outer">        v11 = *(v8 - 3) ^ v6;</span></code><code><span class="code-snippet_outer">        *v8 = v6;</span></code><code><span class="code-snippet_outer">        v8[1] = v11;</span></code><code><span class="code-snippet_outer">        v12 = v10 ^ v11;</span></code><code><span class="code-snippet_outer">        v8[2] = v12;</span></code><code><span class="code-snippet_outer">        v8[3] = v9 ^ v12;</span></code><code><span class="code-snippet_outer">        v8 += 4;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      while ( v7 != 40 );</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    else</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      a3[4] = _byteswap_ulong(a1[4]);</span></code><code><span class="code-snippet_outer">      a3[5] = _byteswap_ulong(a1[5]);</span></code><code><span class="code-snippet_outer">      if ( a2 == 192 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v13 = 0LL;</span></code><code><span class="code-snippet_outer">        for ( i = a3 + 6; ; i += 6 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v16 = *(i - 1);</span></code><code><span class="code-snippet_outer">          v6 ^= dword_709EBD4F74[BYTE2(v16)] &amp; 0xFF000000 ^ dword_709EBD5374[BYTE1(v16)] &amp; 0xFF0000 ^ dword_709EBD5774[(unsigned __int8)v16] &amp; 0xFF00 ^ byte_709EBD5B74[4 * HIBYTE(v16)] ^ *(_DWORD *)((char *)&amp;unk_709EBD5F74 + v13);</span></code><code><span class="code-snippet_outer">          v17 = *(i - 3);</span></code><code><span class="code-snippet_outer">          v18 = *(i - 5) ^ v6;</span></code><code><span class="code-snippet_outer">          v19 = *(i - 4) ^ v18;</span></code><code><span class="code-snippet_outer">          *i = v6;</span></code><code><span class="code-snippet_outer">          i[1] = v18;</span></code><code><span class="code-snippet_outer">          i[2] = v19;</span></code><code><span class="code-snippet_outer">          i[3] = v17 ^ v19;</span></code><code><span class="code-snippet_outer">          if ( v13 == 28 )</span></code><code><span class="code-snippet_outer">            break;</span></code><code><span class="code-snippet_outer">          v13 += 4LL;</span></code><code><span class="code-snippet_outer">          v15 = *(i - 2) ^ v17 ^ v19;</span></code><code><span class="code-snippet_outer">          i[4] = v15;</span></code><code><span class="code-snippet_outer">          i[5] = v16 ^ v15;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        a3[6] = _byteswap_ulong(a1[6]);</span></code><code><span class="code-snippet_outer">        a3[7] = _byteswap_ulong(a1[7]);</span></code><code><span class="code-snippet_outer">        v20 = 0LL;</span></code><code><span class="code-snippet_outer">        for ( j = a3 + 8; ; j += 8 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v25 = *(j - 1);</span></code><code><span class="code-snippet_outer">          v6 ^= dword_709EBD4F74[BYTE2(v25)] &amp; 0xFF000000 ^ dword_709EBD5374[BYTE1(v25)] &amp; 0xFF0000 ^ dword_709EBD5774[(unsigned __int8)v25] &amp; 0xFF00 ^ byte_709EBD5B74[4 * HIBYTE(v25)] ^ *(_DWORD *)((char *)&amp;unk_709EBD5F74 + v20);</span></code><code><span class="code-snippet_outer">          v26 = *(j - 5);</span></code><code><span class="code-snippet_outer">          v27 = *(j - 7) ^ v6;</span></code><code><span class="code-snippet_outer">          v28 = *(j - 6) ^ v27;</span></code><code><span class="code-snippet_outer">          *j = v6;</span></code><code><span class="code-snippet_outer">          j[1] = v27;</span></code><code><span class="code-snippet_outer">          j[2] = v28;</span></code><code><span class="code-snippet_outer">          j[3] = v26 ^ v28;</span></code><code><span class="code-snippet_outer">          if ( v20 == 24 )</span></code><code><span class="code-snippet_outer">            break;</span></code><code><span class="code-snippet_outer">          v29 = v26 ^ v28;</span></code><code><span class="code-snippet_outer">          v22 = dword_709EBD4F74[HIBYTE(v29)] &amp; 0xFF000000 ^ *(j - 4) ^ dword_709EBD5374[BYTE2(v29)] &amp; 0xFF0000 ^ dword_709EBD5774[BYTE1(v29)] &amp; 0xFF00 ^ byte_709EBD5B74[4 * (unsigned __int8)v29];</span></code><code><span class="code-snippet_outer">          v23 = *(j - 2);</span></code><code><span class="code-snippet_outer">          v24 = *(j - 3) ^ v22;</span></code><code><span class="code-snippet_outer">          j[4] = v22;</span></code><code><span class="code-snippet_outer">          j[5] = v24;</span></code><code><span class="code-snippet_outer">          v20 += 4LL;</span></code><code><span class="code-snippet_outer">          j[6] = v23 ^ v24;</span></code><code><span class="code-snippet_outer">          j[7] = v25 ^ v23 ^ v24;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    return 0;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  return v3;</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">// X0:原数据,X1:返回,x2:大小,x3:初始化后key,x4:IV</span></code><code><span class="code-snippet_outer">long double __fastcall AES_enc_data_sub_705760C380(</span></code><code><span class="code-snippet_outer">        _QWORD *a1,</span></code><code><span class="code-snippet_outer">        long double *a2,</span></code><code><span class="code-snippet_outer">        unsigned __int64 a3,</span></code><code><span class="code-snippet_outer">        __int64 a4,</span></code><code><span class="code-snippet_outer">        long double *a5,</span></code><code><span class="code-snippet_outer">        void (__fastcall *a6)(long double *, long double *, __int64))</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  unsigned __int64 v6; // x24</span></code><code><span class="code-snippet_outer">  unsigned __int64 v10; // x8</span></code><code><span class="code-snippet_outer">  unsigned __int64 v11; // x22</span></code><code><span class="code-snippet_outer">  unsigned __int64 v12; // x27</span></code><code><span class="code-snippet_outer">  long double *v13; // x26</span></code><code><span class="code-snippet_outer">  unsigned __int64 v14; // x19</span></code><code><span class="code-snippet_outer">  long double *v15; // x8</span></code><code><span class="code-snippet_outer">  _QWORD *v16; // x28</span></code><code><span class="code-snippet_outer">  long double *v17; // x25</span></code><code><span class="code-snippet_outer">  long double *v18; // x8</span></code><code><span class="code-snippet_outer">  __int64 v19; // x24</span></code><code><span class="code-snippet_outer">  unsigned __int64 v20; // x25</span></code><code><span class="code-snippet_outer">  _QWORD *v21; // x22</span></code><code><span class="code-snippet_outer">  long double *v22; // x10</span></code><code><span class="code-snippet_outer">  unsigned __int64 v23; // x27</span></code><code><span class="code-snippet_outer">  unsigned __int64 v24; // x10</span></code><code><span class="code-snippet_outer">  unsigned __int64 v25; // x13</span></code><code><span class="code-snippet_outer">  __int128 v26; // q0</span></code><code><span class="code-snippet_outer">  __int128 v27; // q1</span></code><code><span class="code-snippet_outer">  _OWORD *v28; // x14</span></code><code><span class="code-snippet_outer">  unsigned __int64 v29; // x9</span></code><code><span class="code-snippet_outer">  __int64 v30; // x14</span></code><code><span class="code-snippet_outer">  long double *v31; // x23</span></code><code><span class="code-snippet_outer">  __int64 v32; // x13</span></code><code><span class="code-snippet_outer">  __int64 v33; // x15</span></code><code><span class="code-snippet_outer">  unsigned __int64 v34; // x10</span></code><code><span class="code-snippet_outer">  __int64 v35; // x11</span></code><code><span class="code-snippet_outer">  long double *v36; // x17</span></code><code><span class="code-snippet_outer">  unsigned __int64 v37; // x14</span></code><code><span class="code-snippet_outer">  unsigned __int64 v38; // x13</span></code><code><span class="code-snippet_outer">  int8x16_t v39; // q0</span></code><code><span class="code-snippet_outer">  int8x16_t v40; // q1</span></code><code><span class="code-snippet_outer">  int8x16_t v41; // q2</span></code><code><span class="code-snippet_outer">  int8x16_t v42; // q3</span></code><code><span class="code-snippet_outer">  int8x16_t *v43; // x15</span></code><code><span class="code-snippet_outer">  unsigned __int64 v44; // x11</span></code><code><span class="code-snippet_outer">  unsigned __int64 v45; // x12</span></code><code><span class="code-snippet_outer">  long double result; // q0</span></code><code><span class="code-snippet_outer">  _QWORD *v48; // [xsp+8h] [xbp-58h]</span></code><code><span class="code-snippet_outer">  _QWORD *v49; // [xsp+8h] [xbp-58h]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  v6 = a3;</span></code><code><span class="code-snippet_outer">  v10 = a3 - 16;</span></code><code><span class="code-snippet_outer">  if ( a3 &lt; 0x10 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v18 = a5;</span></code><code><span class="code-snippet_outer">    v13 = a2;</span></code><code><span class="code-snippet_outer">    v14 = a3;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  else</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v11 = v10 &amp; 0xFFFFFFFFFFFFFFF0LL;</span></code><code><span class="code-snippet_outer">    v12 = (v10 &amp; 0xFFFFFFFFFFFFFFF0LL) + 16;</span></code><code><span class="code-snippet_outer">    v13 = (long double *)((char *)a2 + v12);</span></code><code><span class="code-snippet_outer">    v14 = v10 - (v10 &amp; 0xFFFFFFFFFFFFFFF0LL);</span></code><code><span class="code-snippet_outer">    v15 = a5;</span></code><code><span class="code-snippet_outer">    v16 = a1;</span></code><code><span class="code-snippet_outer">    v17 = a2;</span></code><code><span class="code-snippet_outer">    v48 = a1;</span></code><code><span class="code-snippet_outer">    do</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      *(_QWORD *)v17 = *(_QWORD *)v15 ^ *v16;</span></code><code><span class="code-snippet_outer">      *((_QWORD *)v17 + 1) = *((_QWORD *)v15 + 1) ^ v16[1];</span></code><code><span class="code-snippet_outer">      a6(v17, v17, a4);</span></code><code><span class="code-snippet_outer">      v6 -= 16LL;</span></code><code><span class="code-snippet_outer">      v15 = v17++;</span></code><code><span class="code-snippet_outer">      v16 += 2;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    while ( v6 &gt; 0xF );</span></code><code><span class="code-snippet_outer">    v18 = (long double *)((char *)a2 + v11);</span></code><code><span class="code-snippet_outer">    a1 = (_QWORD *)((char *)v48 + v12);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( v14 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v19 = 0LL;</span></code><code><span class="code-snippet_outer">    v20 = -(__int64)v14;</span></code><code><span class="code-snippet_outer">    v21 = a1;</span></code><code><span class="code-snippet_outer">    v22 = v13;</span></code><code><span class="code-snippet_outer">    v23 = v14;</span></code><code><span class="code-snippet_outer">    v49 = a1;</span></code><code><span class="code-snippet_outer">    while ( 1 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v30 = 2 * v19;</span></code><code><span class="code-snippet_outer">      v29 = 0LL;</span></code><code><span class="code-snippet_outer">      v31 = v22;</span></code><code><span class="code-snippet_outer">      if ( v20 &lt;= 0xFFFFFFFFFFFFFFF0LL )</span></code><code><span class="code-snippet_outer">        v32 = -16LL;</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">        v32 = v20;</span></code><code><span class="code-snippet_outer">      if ( 16 * v19 - v14 &lt;= 0xFFFFFFFFFFFFFFF0LL )</span></code><code><span class="code-snippet_outer">        v33 = -16LL;</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">        v33 = 16 * v19 - v14;</span></code><code><span class="code-snippet_outer">      v34 = (unsigned __int64)&amp;v13[(unsigned __int64)v30 / 2];</span></code><code><span class="code-snippet_outer">      v35 = -v33;</span></code><code><span class="code-snippet_outer">      if ( (unsigned __int64)-v33 &lt;= 0x1F )</span></code><code><span class="code-snippet_outer">        goto LABEL_26;</span></code><code><span class="code-snippet_outer">      v29 = 0LL;</span></code><code><span class="code-snippet_outer">      if ( (v35 &amp; 0xFFFFFFFFFFFFFFE0LL) == 0 )</span></code><code><span class="code-snippet_outer">        goto LABEL_26;</span></code><code><span class="code-snippet_outer">      v36 = (long double *)((char *)&amp;v13[(unsigned __int64)v30 / 2 - 1] - v33 + 15);</span></code><code><span class="code-snippet_outer">      if ( v34 &lt;= (unsigned __int64)&amp;v49[v30 - 1] - v33 + 7 &amp;&amp; &amp;v49[v30] &lt;= (_QWORD *)v36 )</span></code><code><span class="code-snippet_outer">        goto LABEL_26;</span></code><code><span class="code-snippet_outer">      if ( v34 &lt;= (unsigned __int64)v18 - v33 - 1 &amp;&amp; v18 &lt;= v36 )</span></code><code><span class="code-snippet_outer">        goto LABEL_26;</span></code><code><span class="code-snippet_outer">      v37 = 0LL;</span></code><code><span class="code-snippet_outer">      v38 = -v32 &amp; 0xFFFFFFFFFFFFFFE0LL;</span></code><code><span class="code-snippet_outer">      v29 = v35 &amp; 0xFFFFFFFFFFFFFFE0LL;</span></code><code><span class="code-snippet_outer">      do</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v39 = *(int8x16_t *)&amp;v21[v37 / 8];</span></code><code><span class="code-snippet_outer">        v40 = *(int8x16_t *)&amp;v21[v37 / 8 + 2];</span></code><code><span class="code-snippet_outer">        v41 = *(int8x16_t *)&amp;v18[v37 / 0x10];</span></code><code><span class="code-snippet_outer">        v42 = *(int8x16_t *)&amp;v18[v37 / 0x10 + 1];</span></code><code><span class="code-snippet_outer">        v43 = (int8x16_t *)&amp;v31[v37 / 0x10];</span></code><code><span class="code-snippet_outer">        v37 += 32LL;</span></code><code><span class="code-snippet_outer">        *v43 = veorq_s8(v41, v39);</span></code><code><span class="code-snippet_outer">        v43[1] = veorq_s8(v42, v40);</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      while ( v38 != v37 );</span></code><code><span class="code-snippet_outer">      if ( (v35 &amp; 0xFFFFFFFFFFFFFFE0LL) != v35 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">LABEL_26:</span></code><code><span class="code-snippet_outer">        do</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          *((_BYTE *)v31 + v29) = *((_BYTE *)v18 + v29) ^ *((_BYTE *)v21 + v29);</span></code><code><span class="code-snippet_outer">          ++v29;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        while ( v29 &lt;= 0xF &amp;&amp; v29 &lt; v23 );</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      if ( v29 &gt; 0xF )</span></code><code><span class="code-snippet_outer">        goto LABEL_34;</span></code><code><span class="code-snippet_outer">      v44 = 16 - v29;</span></code><code><span class="code-snippet_outer">      if ( 16 - v29 &gt; 0x1F</span></code><code><span class="code-snippet_outer">        &amp;&amp; (v45 = v44 &amp; 0xFFFFFFFFFFFFFFE0LL, (v44 &amp; 0xFFFFFFFFFFFFFFE0LL) != 0)</span></code><code><span class="code-snippet_outer">        &amp;&amp; (v34 + v29 &gt; (unsigned __int64)v18 + 15 || (char *)v18 + v29 &gt; (char *)v13 + ((16 * v19) | 0xF)) )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v24 = v29 + v45;</span></code><code><span class="code-snippet_outer">        v25 = v44 &amp; 0xFFFFFFFFFFFFFFE0LL;</span></code><code><span class="code-snippet_outer">        do</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v26 = *(_OWORD *)((char *)v18 + v29);</span></code><code><span class="code-snippet_outer">          v27 = *(_OWORD *)((char *)v18 + v29 + 16);</span></code><code><span class="code-snippet_outer">          v28 = (_OWORD *)((char *)v31 + v29);</span></code><code><span class="code-snippet_outer">          v29 += 32LL;</span></code><code><span class="code-snippet_outer">          v25 -= 32LL;</span></code><code><span class="code-snippet_outer">          *v28 = v26;</span></code><code><span class="code-snippet_outer">          v28[1] = v27;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        while ( v25 );</span></code><code><span class="code-snippet_outer">        if ( v44 == v45 )</span></code><code><span class="code-snippet_outer">          goto LABEL_34;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v24 = v29;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      do</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        *((_BYTE *)v31 + v24) = *((_BYTE *)v18 + v24);</span></code><code><span class="code-snippet_outer">        ++v24;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      while ( v24 != 16 );</span></code><code><span class="code-snippet_outer">LABEL_34:</span></code><code><span class="code-snippet_outer">      a6(v31, v31, a4);</span></code><code><span class="code-snippet_outer">      if ( v23 &gt;= 0x11 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v23 -= 16LL;</span></code><code><span class="code-snippet_outer">        v21 += 2;</span></code><code><span class="code-snippet_outer">        v22 = v31 + 1;</span></code><code><span class="code-snippet_outer">        ++v19;</span></code><code><span class="code-snippet_outer">        v20 += 16LL;</span></code><code><span class="code-snippet_outer">        v18 = v31;</span></code><code><span class="code-snippet_outer">        if ( v23 )</span></code><code><span class="code-snippet_outer">          continue;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      goto LABEL_38;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v31 = v18;</span></code><code><span class="code-snippet_outer">LABEL_38:</span></code><code><span class="code-snippet_outer">  result = *v31;</span></code><code><span class="code-snippet_outer">  *a5 = *v31;</span></code><code><span class="code-snippet_outer">  return result;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h5 data-source-line="3116" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">6.5、组合数据发送服务器</span></h5><p data-source-line="3117" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">RSA加密后的AES KEY IV与AES加密的设备数据组合发送给服务器，组合格式图6-5所示：</p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.41953125" data-s="300,640" style="" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=d7ac41c5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibUUsic2lCsbCP8SREWVdibeW4HKSRXVyosy1WXD0AK0VV8EQAYKLhScVNhhda1fNDXiaXrKGZ6eTeDuQ%2F640%3Fwx_fmt%3Djpeg"/></p><p data-source-line="2808" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;">图6-5</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">url</span></code><code><span class="code-snippet_outer"><a href="https://fp.fraudmetrix.cn/android3_5/profile.json?partner=missfreshaq&amp;version=3.6.7&amp;clientSeqId=1654331726915998700" target="_blank">https://fp.fraudmetrix.cn/android3_5/profile.json?partner=missfreshaq&amp;version=3.6.7&amp;clientSeqId=1654331726915998700</a></span></code><code><span class="code-snippet_outer">反射调用如下类发送网络</span></code><code><span class="code-snippet_outer">cn/tongdun/android/shell/common/HttpHelper</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"> private static String connect(URL arg9, byte[] body, String url, int arg12) throws Exception {</span></code><code><span class="code-snippet_outer">        int v4;</span></code><code><span class="code-snippet_outer">        int v1;</span></code><code><span class="code-snippet_outer">        HttpsURLConnection v9;</span></code><code><span class="code-snippet_outer">        if(arg9.getProtocol().toLowerCase().equals(&#34;https&#34;)) {</span></code><code><span class="code-snippet_outer">            v9 = (HttpsURLConnection)arg9.openConnection(Proxy.NO_PROXY);</span></code><code><span class="code-snippet_outer">            if(arg12 == 1) {</span></code><code><span class="code-snippet_outer">                HttpHelper.trustSSL(v9);</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">            else if(arg12 == 2) {</span></code><code><span class="code-snippet_outer">                v9.setHostnameVerifier(HttpHelper.NAME_VERIFY);</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        else {</span></code><code><span class="code-snippet_outer">            v9 = (HttpURLConnection)arg9.openConnection(Proxy.NO_PROXY);</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        HttpHelper.setHttpParams(v9);</span></code><code><span class="code-snippet_outer">        v9.setRequestMethod(&#34;POST&#34;);</span></code><code><span class="code-snippet_outer">        OutputStream v11 = v9.getOutputStream();</span></code><code><span class="code-snippet_outer">        v11.write(body);</span></code><code><span class="code-snippet_outer">        v11.flush();</span></code><code><span class="code-snippet_outer">        int v10 = v9.getResponseCode();</span></code><code><span class="code-snippet_outer">        if(v10 != 200) {</span></code><code><span class="code-snippet_outer">            String v9_1 = &#34;Connect failed, response code &#34; + v10;</span></code><code><span class="code-snippet_outer">            xxo000000xxxoo00_Log.xxo0o0ox0oxxoo(v9_1);</span></code><code><span class="code-snippet_outer">            return v9_1;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        try {</span></code><code><span class="code-snippet_outer">            Map v10_2 = v9.getHeaderFields();</span></code><code><span class="code-snippet_outer">            if(v10_2 != null) {</span></code><code><span class="code-snippet_outer">                List v10_3 = (List)v10_2.get(&#34;Set-Cookie&#34;);</span></code><code><span class="code-snippet_outer">                if(v10_3 != null &amp;&amp; v10_3.size() &gt; 0) {</span></code><code><span class="code-snippet_outer">                    int v12 = v10_3.size();</span></code><code><span class="code-snippet_outer">                    v1 = 0;</span></code><code><span class="code-snippet_outer">                    while(true) {</span></code><code><span class="code-snippet_outer">                    label_60:</span></code><code><span class="code-snippet_outer">                        if(v1 &gt;= v12) {</span></code><code><span class="code-snippet_outer">                            break;</span></code><code><span class="code-snippet_outer">                        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">                        String v2 = (String)v10_3.get(v1);</span></code><code><span class="code-snippet_outer">                        if(v2.contains(&#34;XXID=&#34;)) {</span></code><code><span class="code-snippet_outer">                            String[] v2_1 = v2.split(&#34;;&#34;);</span></code><code><span class="code-snippet_outer">                            v4 = 0;</span></code><code><span class="code-snippet_outer">                            while(true) {</span></code><code><span class="code-snippet_outer">                            label_76:</span></code><code><span class="code-snippet_outer">                                if(v4 &gt;= v2_1.length) {</span></code><code><span class="code-snippet_outer">                                    break;</span></code><code><span class="code-snippet_outer">                                }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">                                String v5 = v2_1[v4];</span></code><code><span class="code-snippet_outer">                                if(!v5.startsWith(&#34;XXID&#34;)) {</span></code><code><span class="code-snippet_outer">                                    ++v4;</span></code><code><span class="code-snippet_outer">                                    goto label_76;</span></code><code><span class="code-snippet_outer">                                }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">                                String v5_1 = v5.substring(5, v5.length());</span></code><code><span class="code-snippet_outer">                                if(TextUtils.isEmpty(v5_1)) {</span></code><code><span class="code-snippet_outer">                                    ++v4;</span></code><code><span class="code-snippet_outer">                                    goto label_76;</span></code><code><span class="code-snippet_outer">                                }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">                                FMAgent.xxid = v5_1;</span></code><code><span class="code-snippet_outer">                                break;</span></code><code><span class="code-snippet_outer">                            }</span></code><code><span class="code-snippet_outer">                        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">                        ++v1;</span></code><code><span class="code-snippet_outer">                    }</span></code><code><span class="code-snippet_outer">                }</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        catch(Exception v10_1) {</span></code><code><span class="code-snippet_outer">            v10_1.printStackTrace();</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        goto label_99;</span></code><code><span class="code-snippet_outer">        ++v4;</span></code><code><span class="code-snippet_outer">        goto label_76;</span></code><code><span class="code-snippet_outer">        ++v1;</span></code><code><span class="code-snippet_outer">        goto label_60;</span></code><code><span class="code-snippet_outer">    label_99:</span></code><code><span class="code-snippet_outer">        InputStream v9_2 = v9.getInputStream();</span></code><code><span class="code-snippet_outer">        BufferedReader v10_4 = new BufferedReader(new InputStreamReader(v9_2, &#34;utf-8&#34;));</span></code><code><span class="code-snippet_outer">        StringBuilder v12_1 = new StringBuilder();</span></code><code><span class="code-snippet_outer">        while(true) {</span></code><code><span class="code-snippet_outer">            String v0 = v10_4.readLine();</span></code><code><span class="code-snippet_outer">            if(v0 == null) {</span></code><code><span class="code-snippet_outer">                break;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            v12_1.append(v0);</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        v9_2.close();</span></code><code><span class="code-snippet_outer">        v11.close();</span></code><code><span class="code-snippet_outer">        return v12_1.toString();</span></code><code><span class="code-snippet_outer">    }</span></code></pre></section><p data-source-line="2808" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;">成功后服务器返回blackbox：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{&#34;code&#34;:&#34;000&#34;,&#34;desc&#34;:&#34;k9OCtUBncUi1/r3N84z30FFW3AwxnmZnJfuKa2bhCcS/s9mKZAuBFnJ6BYRDDpUkz+fxJhWvD+bbun3eUbCyiw==&#34;}</span></code></pre></section><p data-source-line="2808" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;">这个值是根据硬件ID，OAID、文件ID生成。</span></p><h3 data-source-line="3233" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.43;font-size: 1.5em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">七、加密漏洞还原与中人间攻击过程</span></h3><h5 data-source-line="3234" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">7.1、通过私钥解析出公钥</span></h5><p data-source-line="3235" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">理论上我们很难从私钥(只有d,n)中推导公钥的，也无法通过公钥推导出私钥，但是该SDK使用了私钥为PKCS编码格式,该私钥数据可以按如下结构进行解析：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">RSAPrivateKey</span> :<span class="code-snippet__string">:= SEQUENCE {</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">versionVersion,</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">modulusINTEGER,</span> <span class="code-snippet__string">-- n</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">publicExponentINTEGER,</span> <span class="code-snippet__string">-- e</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">privateExponentINTEGER,</span> <span class="code-snippet__string">-- d</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">prime1INTEGER,</span> <span class="code-snippet__string">-- p</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">prime2INTEGER,</span> <span class="code-snippet__string">-- q</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">exponent1INTEGER,</span> <span class="code-snippet__string">-- d mod (p-1)</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">exponent2INTEGER,</span> <span class="code-snippet__string">-- d mod (q-1)</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">coefficientINTEGER,</span> <span class="code-snippet__string">-- (inverse of q) mod p</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">otherPrimeInfosOtherPrimeInfos</span> <span class="code-snippet__string">OPTIONAL</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">}</span></span></code></pre></section><p data-source-line="2808" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;">从结构中可以看出私钥其实是含有生成密钥对的p和q以及公私钥对(e,n)。通过私钥格式分析可以分析出公钥数据，用代码实现如下：</span></p><p data-source-line="2808" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 700;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;">加载私钥:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="php"><code><span class="code-snippet_outer"> /**</span></code><code><span class="code-snippet_outer">     * 从字符串中获取私钥</span></code><code><span class="code-snippet_outer">     * @param privateKeyStr</span></code><code><span class="code-snippet_outer">     * @return</span></code><code><span class="code-snippet_outer">     * @throws Exception</span></code><code><span class="code-snippet_outer">     */</span></code><code><span class="code-snippet_outer">    public static RSAPrivateKey loadPrivateKeyByStr(String privateKeyStr) throws Exception {</span></code><code><span class="code-snippet_outer">        try {</span></code><code><span class="code-snippet_outer">            byte[] buffer = java.util.Base64.getDecoder().decode(privateKeyStr);</span></code><code><span class="code-snippet_outer">            PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(buffer);</span></code><code><span class="code-snippet_outer">            KeyFactory keyFactory = KeyFactory.getInstance(&#34;RSA&#34;);</span></code><code><span class="code-snippet_outer">            return (RSAPrivateKey) keyFactory.generatePrivate(keySpec);</span></code><code><span class="code-snippet_outer">        } catch (NoSuchAlgorithmException e) {</span></code><code><span class="code-snippet_outer">            throw new Exception(&#34;无此算法&#34;);</span></code><code><span class="code-snippet_outer">        } catch (InvalidKeySpecException e) {</span></code><code><span class="code-snippet_outer">            throw new Exception(&#34;私钥非法&#34;);</span></code><code><span class="code-snippet_outer">        } catch (NullPointerException e) {</span></code><code><span class="code-snippet_outer">            throw new Exception(&#34;私钥数据为空&#34;);</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    public static String gethexPublicKey(String modulus, String exponent) {</span></code><code><span class="code-snippet_outer">        try {</span></code><code><span class="code-snippet_outer">            BigInteger b1 = new BigInteger(modulus,16);  //此处为进制数</span></code><code><span class="code-snippet_outer">            BigInteger b2 = new BigInteger(exponent,16);</span></code><code><span class="code-snippet_outer">            KeyFactory keyFactory = KeyFactory.getInstance(&#34;RSA&#34;);</span></code><code><span class="code-snippet_outer">            RSAPublicKeySpec keySpec = new RSAPublicKeySpec(b1, b2);</span></code><code><span class="code-snippet_outer">            RSAPublicKey publicKey = (RSAPublicKey) keyFactory.generatePublic(keySpec);</span></code><code><span class="code-snippet_outer">            String publicKeyString = Base64.encode(publicKey.getEncoded());</span></code><code><span class="code-snippet_outer">            return publicKeyString;</span></code><code><span class="code-snippet_outer">        } catch (Exception e) {</span></code><code><span class="code-snippet_outer">            e.printStackTrace();</span></code><code><span class="code-snippet_outer">            return null;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code></pre></section><p data-source-line="2808" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 700;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;">解析出公钥:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">     <span class="code-snippet__comment">//从SDK中的私钥解析出公钥(隐去部分)</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">String</span> strprivatekey  = <span class="code-snippet__string">&#34;MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBALE2OfQ8BYg9Lq4nKGTamXyia6raCc1adzCOsFrnk/VN0s2W8yQJfYdq+QUNRHv0zANW0Uafh7nHCWeBn/GOC26xTsUku3/ElECGthT5ED0MOO8EQ6dhci4So/Y/fNuAczqDFk5RKRbmo1gz7xuCdUTQYmD+h1cjl95HGrY6TMinAgMBAAECgYBCHYwjvh0GRmVbHkrozdID+QkYdj6/+eeMG0BauhmupLlocNAH+u51joiXxOpvINbYzBRKOAzIWCT/FBKbabaDl5IhuUwV+CJ90SBLAbs/Wd+QjnUhXbyKb+Tm3+Uz2y26xWc7XdhGNe3Wjyz2+fN8CbfdC2SlUnibADOEQXJFIQJBAOUgSH/+uyIJKo6DOHJSfrhDlYX875H4Yq8ifuS1R7hQcK5T8sYV/OIzTRSvFaYL+FG8nA9vr8rulojcDPYzqrcCQQDF/yuUtb1wliR+zH7iE/5pv0dGfuwhSec777TYuLEP6VnX68zI/Kyq2JdIYYO7MidjH4bFd50NnRacHi3AtKGRAkEAiU+Gg0Y6CVSq70sOSdzMWksOUYTaYYUURtaKay+Ecp2qWZ6vkCxfJ4QM/odKlv73aqx4bfvFwvymtBADqIwgEwJBAIHtZq3ZbQz6mcxTaVf2Atdl2+HY3B8kHgdoz2YAHMDyQjC83c9ub+hU5UFsLEOlL8+OGqRuT7NlSDb+Xsu8POECQQDPcNOysMNbrLh1mGe6ydUsojSbheAIOZPQ/lhUbhzPXAXTYaPkTq7uty6SYZOMtWLxIFZ1eA9HHm3tJOCgC888&#34;</span>;</span></code><code><span class="code-snippet_outer">        RSAPrivateKey privateKey = RSAUtils.loadPrivateKeyByStr(strprivatekey);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__comment">// 得到公钥</span></span></code><code><span class="code-snippet_outer">        BigInteger modulus = privateKey.getModulus();</span></code><code><span class="code-snippet_outer">        byte[] bmodulus = modulus.toByteArray();</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">String</span> modulusString = StringToHex.bytesToHex(bmodulus);</span></code><code><span class="code-snippet_outer">        System.out.println(<span class="code-snippet__string">&#34;modulusString:&#34;</span>+modulusString);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">String</span> publicKeyString = RSAEncrypt.gethexPublicKey(modulusString, <span class="code-snippet__string">&#34;010001&#34;</span>);</span></code><code><span class="code-snippet_outer">        System.out.println(<span class="code-snippet__string">&#34;publicKeyString:&#34;</span>+publicKeyString);</span></code></pre></section><h5 data-source-line="3303" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">7.2、公钥解密出AES KEY IV</span></h5><p data-source-line="3304" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;">得到公钥后做解密测试，只要能把上报到服务器端的请求体中加密的AES KEY IV解密出来就能解出AES加密的设备数据。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer"> <span class="code-snippet__comment">//私钥加密的AES KEY IV</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">byte</span>[] keydata  = {</span></code><code><span class="code-snippet_outer">                (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x98</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x93</span>, <span class="code-snippet__number">0x1B</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x85</span>, <span class="code-snippet__number">0x66</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x82</span>, <span class="code-snippet__number">0x76</span>, <span class="code-snippet__number">0x26</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x88</span>, <span class="code-snippet__number">0x2B</span>, <span class="code-snippet__number">0x09</span>, <span class="code-snippet__number">0x13</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xAA</span>, <span class="code-snippet__number">0x22</span>, <span class="code-snippet__number">0x4E</span>, <span class="code-snippet__number">0x76</span>,</span></code><code><span class="code-snippet_outer">                (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x9B</span>, <span class="code-snippet__number">0x3F</span>, <span class="code-snippet__number">0x47</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x93</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x8B</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xA7</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xCD</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xD7</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xA6</span>, <span class="code-snippet__number">0x48</span>, <span class="code-snippet__number">0x3D</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xC9</span>, <span class="code-snippet__number">0x70</span>, <span class="code-snippet__number">0x55</span>, <span class="code-snippet__number">0x29</span>, <span class="code-snippet__number">0x6A</span>,</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__number">0x57</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xB7</span>, <span class="code-snippet__number">0x65</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xAE</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xF4</span>, <span class="code-snippet__number">0x3E</span>, <span class="code-snippet__number">0x2C</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xCB</span>, <span class="code-snippet__number">0x5C</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xE1</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xCD</span>, <span class="code-snippet__number">0x6B</span>, <span class="code-snippet__number">0x57</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xB5</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x86</span>, <span class="code-snippet__number">0x2F</span>,</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__number">0x1D</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x81</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xFC</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xA3</span>, <span class="code-snippet__number">0x56</span>, <span class="code-snippet__number">0x27</span>, <span class="code-snippet__number">0x64</span>, <span class="code-snippet__number">0x13</span>, <span class="code-snippet__number">0x27</span>, <span class="code-snippet__number">0x42</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xA0</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x84</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xC3</span>, <span class="code-snippet__number">0x23</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xCD</span>, <span class="code-snippet__number">0x0D</span>,</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__number">0x05</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xD1</span>, <span class="code-snippet__number">0x0D</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xB0</span>, <span class="code-snippet__number">0x22</span>, <span class="code-snippet__number">0x36</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xFE</span>, <span class="code-snippet__number">0x36</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xB5</span>, <span class="code-snippet__number">0x17</span>, <span class="code-snippet__number">0x61</span>, <span class="code-snippet__number">0x6F</span>, <span class="code-snippet__number">0x19</span>, <span class="code-snippet__number">0x14</span>, <span class="code-snippet__number">0x1D</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xB1</span>,</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__number">0x67</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xA0</span>, <span class="code-snippet__number">0x1F</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xF4</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xF2</span>, <span class="code-snippet__number">0x09</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x83</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xCA</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xC1</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x9A</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xC4</span>, <span class="code-snippet__number">0x64</span>, <span class="code-snippet__number">0x14</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xF4</span>, <span class="code-snippet__number">0x54</span>, <span class="code-snippet__number">0x7D</span>,</span></code><code><span class="code-snippet_outer">                (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xDA</span>, <span class="code-snippet__number">0x3A</span>, <span class="code-snippet__number">0x40</span>, <span class="code-snippet__number">0x75</span>, <span class="code-snippet__number">0x28</span>, <span class="code-snippet__number">0x6B</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x9C</span>, <span class="code-snippet__number">0x2D</span>, <span class="code-snippet__number">0x34</span>, <span class="code-snippet__number">0x02</span>, <span class="code-snippet__number">0x3A</span>, <span class="code-snippet__number">0x7C</span>, <span class="code-snippet__number">0x74</span>, <span class="code-snippet__number">0x58</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xD0</span>, <span class="code-snippet__number">0x68</span>,</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__number">0x4C</span>, <span class="code-snippet__number">0x1D</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xD3</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x80</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xD0</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xF8</span>, <span class="code-snippet__number">0x49</span>, <span class="code-snippet__number">0x17</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x99</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xE3</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xB9</span>, <span class="code-snippet__number">0x25</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0x8C</span>, <span class="code-snippet__number">0x44</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xFA</span>, (<span class="code-snippet__keyword">byte</span>)<span class="code-snippet__number">0xC4</span></span></code><code><span class="code-snippet_outer">        };</span></code><code><span class="code-snippet_outer">        String publicKey = publicKeyString;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__comment">//公钥解出出AEK KEY IV</span></span></code><code><span class="code-snippet_outer">        String aeskey  = <span class="code-snippet__keyword">new</span> String(RSAUtils.publicKeyDecrypt(publicKey, keydata)); <span class="code-snippet__comment">//前16字节是AES key, 后16字节是IV</span></span></code><code><span class="code-snippet_outer">        System.<span class="code-snippet__keyword">out</span>.println(<span class="code-snippet__string">&#34;aeskey:&#34;</span>+aeskey);</span></code><code><span class="code-snippet_outer">        </span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">//解密后的值</span></span></code><code><span class="code-snippet_outer">fda958f6<span class="code-snippet__number">-07e5</span><span class="code-snippet__number">-47e4</span>ae2f7b<span class="code-snippet__number">-96b</span>5<span class="code-snippet__number">-4</span>a</span></code></pre></section><h5 data-source-line="3325" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">7.3、AES解密出压缩后设备数据</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer"> <span class="code-snippet__comment">/**</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     *</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     * @param FilePath 待解密的 deump 压缩后的设备数据</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     * @return 解密后的压缩数据</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">     */</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__function"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">byte</span>[] <span class="code-snippet__title">aesDecrypt</span>(<span class="code-snippet__params">String FilePath, String key, String iv</span>)</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">try</span> {</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">if</span> (FilePath.isEmpty() || key.isEmpty()){</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">return</span> <span class="code-snippet__literal">null</span>;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__comment">// 将字符串转为byte，返回解码后的byte[]</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">byte</span>[] encryptBytes = {};</span></code><code><span class="code-snippet_outer">            encryptBytes = FileUtils.getContent(FilePath);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__comment">// 创建密码器</span></span></code><code><span class="code-snippet_outer">            KeyGenerator kgen = KeyGenerator.getInstance(EncryptAesUtil.AES);</span></code><code><span class="code-snippet_outer">            kgen.init(<span class="code-snippet__number">128</span>);</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__comment">// 初始化为解密模式的密码器</span></span></code><code><span class="code-snippet_outer">            Cipher cipher = Cipher.getInstance(ALGORITHMS);</span></code><code><span class="code-snippet_outer">            cipher.init(Cipher.DECRYPT_MODE, <span class="code-snippet__keyword">new</span> SecretKeySpec(key.getBytes(), EncryptAesUtil.AES), <span class="code-snippet__keyword">new</span> IvParameterSpec(iv.getBytes(StandardCharsets.UTF_8)));</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">byte</span>[] decryptBytes = cipher.doFinal(encryptBytes);</span></code><code><span class="code-snippet_outer">            String decstr  = bytesToHex(decryptBytes);</span></code><code><span class="code-snippet_outer">            System.<span class="code-snippet__keyword">out</span>.println(<span class="code-snippet__string">&#34;decryptBytes:&#34;</span>+decstr);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">return</span> decryptBytes;</span></code><code><span class="code-snippet_outer">        } <span class="code-snippet__keyword">catch</span> (Exception e) {</span></code><code><span class="code-snippet_outer">            System.<span class="code-snippet__keyword">out</span>.println(e.getMessage() + e);</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> <span class="code-snippet__literal">null</span>;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">//前16字节是AES key, 后16字节是IV</span></span></code><code><span class="code-snippet_outer">    String key = <span class="code-snippet__string">&#34;fda958f6-07e5-47&#34;</span>;</span></code><code><span class="code-snippet_outer">    String iv = <span class="code-snippet__string">&#34;e4ae2f7b-96b5-4a&#34;</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">//AES 解密压缩后设备数据</span></span></code><code><span class="code-snippet_outer">    EncryptAesUtil.aesDecrypt(<span class="code-snippet__string">&#34;dump_deviceinfo_AES.data&#34;</span>,key, iv);</span></code></pre></section><p data-source-line="3304" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;">还有一层解密是VM中的，要还原大部分Handle，VM代码没有强混淆，分析起来还是比较容易的，这里就留一个坑吧，给有意愿深入搞搞的同学入坑。</span></p><h3 data-source-line="3366" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.43;font-size: 1.5em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">八、总结</span></h3><h6 data-source-line="3367" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">业务：</h6><p data-source-line="3368" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">该产品也是多年的老品牌，最近几年从营销与渠道反作弊转向金融安全领域，可能在营销与渠道反作弊发力点偏弱，产品从体验、移定、易用、安全方面都有很多的不足点。</p><h6 data-source-line="3369" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">代码：</h6><p data-source-line="3370" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">产品包休过大，架构不够精简，模块过多，代码冗余，对抗逆向方面将部分算法进行VM还是比较有效的。很多空数据加密时未做判断，导致空数据时也要执行VM引擎影响性能。</p><h6 data-source-line="3371" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">安全：</h6><p data-source-line="3372" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">安全能力还是可以的，代码中字符串加密，代码逻辑通过AB两个模块拆分逻辑，A模块中大多数方法逻辑通过B模块中的VM引擎来实现，增加逆向度，不足点就是使用了不安全的密钥加密方式。</p><p data-source-line="3372" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><br/></p><p data-source-line="3372" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: 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;">样本获取方式，关注公众号，公众号输入框回复“td” 获取下载链接。</span></p><h3 data-source-line="3101" style="margin: 24px 0px 16px;padding: 0px;outline: 0px;font-weight: 600;font-size: 1.5em;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-style: initial;text-decoration-color: initial;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 15px;color: rgb(0, 0, 0);"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);">作者简介：</span><br data-filtered="filtered" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;color: rgb(36, 41, 46);font-size: 14px;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);"/><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);">我是小三，目前从事软件安全相关工作，虽己工作多年，但内心依然有着执着的追求，信奉终身成长，不定义自己，热爱技术但不拘泥于技术，爱好分享，喜欢读书和乐于结交朋友，欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)</span></span></h3><p data-source-line="3304" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;"></span></p>



<p><a href="2247484080">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=152596a7&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247484080%26idx%3D1%26sn%3Dc475cb405478abbec270a67d87d66187%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sat, 18 Jun 2022 12:00:00 +0800</pubDate>
    </item>
    <item>
      <title>某老牌反作弊产品分析-(存在加密漏洞可被中间人攻击)一</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247484079&amp;idx=1&amp;sn=a7603bd5f7ff12992186183a03d30f37</link>
      <description>产品应用场景主要用于营销活动反作弊、渠道推广反作弊、交易安全保护、账户安全保护、接口安全保护。渠道买量、应用推广、小程序推广。&#xA;产品功能:&#xA;虚假行为分析&#xA;从设备与账户维度进行聚类关联分析、行为异常分析，甄别虚假作弊用户、IP、设备，锁定源</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2022-06-17 11:30</span> <span style="display: inline-block;">北京</span>
</p>

<p>产品应用场景主要用于营销活动反作弊、渠道推广反作弊、交易安全保护、账户安全保护、接口安全保护。渠道买量、应用推广、小程序推广。</p>
<p>产品功能:</p>
<p>虚假行为分析</p>
<p>从设备与账户维度进行聚类关联分析、行为异常分析，甄别虚假作弊用户、IP、设备，锁定源</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=bbf78e27&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibUUsic2lCsbCP8SREWVdibeW41xaia7AavBpq5kUGdb4icPwyVYV1p2QYNiaGG1dmInOVorG09zEXT6SYA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">目录:</span></span></code><code><span class="code-snippet_outer">一、产品基本介绍</span></code><code><span class="code-snippet_outer">二、产品整体框架</span></code><code><span class="code-snippet_outer">三、JAVA与JNI初始化</span></code><code><span class="code-snippet_outer">四、VM虚拟机基本逻辑</span></code><code><span class="code-snippet_outer">五、环境检测与设备信息采集</span></code><code><span class="code-snippet_outer">六、加密流程分析</span></code><code><span class="code-snippet_outer">七、加密漏洞还原与中人间攻击过程</span></code><code><span class="code-snippet_outer">八、总结</span></code></pre></section><h3 data-source-line="13" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.43;font-size: 1.5em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">一、产品基本介绍</span></h3><p data-source-line="14" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">产品应用场景主要用于营销活动反作弊、渠道推广反作弊、交易安全保护、账户安全保护、接口安全保护。渠道买量、应用推广、小程序推广。<br style="box-sizing: border-box;"/>产品功能:<br style="box-sizing: border-box;"/>虚假行为分析<br style="box-sizing: border-box;"/>从设备与账户维度进行聚类关联分析、行为异常分析，甄别虚假作弊用户、IP、设备，锁定源头风险。<br style="box-sizing: border-box;"/>终端风险感知<br style="box-sizing: border-box;"/>有效识别模拟器、群控、作弊设备、模拟器、农场工具。<br style="box-sizing: border-box;"/>大数据关联分析<br style="box-sizing: border-box;"/>结合渠道大数据与风险数据，筛选出可疑对象和目标，通过特定业务判断完成风险环形数据，支持算法模型的嵌入。</p><h3 data-source-line="22" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.43;font-size: 1.5em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">二、产品整体框架</span></h3><h5 data-source-line="23" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">2.1、产品使用步骤</span></h5><p data-source-line="24" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">2.1.1. 前端接入：根据前端类型选择对应 SDK 进行接入，支持 Android App、iOS iApp、小程 序（头条小程序、微信小程序、支付宝小程序）、WEB/WAP/H5。<br style="box-sizing: border-box;"/>2.1.2. 接入验证：前后端接入完成后，联合客户端、服务端进行整体联调。<br style="box-sizing: border-box;"/>2.1.3. 运行APP成功返回blackbox设备指纹。</p><h5 data-source-line="27" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">2.2、整体对接数据流程时序图</span></h5><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5005370569280344" data-s="300,640" style="" data-type="png" data-w="931" src="https://wechat2rss.xlab.app/img-proxy/?k=4c3f897d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibUUsic2lCsbCP8SREWVdibeW4G1BiaSdyicnjFnciaFfuTMcdzkUZW0ibiaWzRMuJDWoTGfWRicnfEbgLc0MA%2F640%3Fwx_fmt%3Dpng"/></p><h5 data-source-line="29" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">2.3、产品整体架构</span></h5><p data-source-line="30" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">接入产品逆向分析还原出基本的产品架构，如图2-3所示<br style="box-sizing: border-box;"/></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.64375" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=d4e84de4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibUUsic2lCsbCP8SREWVdibeW4Y8XXoFMGB6Yiag6pA2k50AJ1IicNPrKFPtz92nJ7nU2icYxzmfMWFP1rQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;">图2-3</span></p><h3 data-source-line="33" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.43;font-size: 1.5em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">三、JAVA与JNI初始化</span></h3><h5 data-source-line="34" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">3.1、在应用启动的时候，比如在应用的首页 Activity 的 onCreate 方法中调用以下方法：</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="java"><code><span class="code-snippet_outer">// FMAgent.ENV_SANDBOX     表示沙盒环境</span></code><code><span class="code-snippet_outer">  // FMAgent.ENV_PRODUCTION  表示生产环境</span></code><code><span class="code-snippet_outer">  FMAgent.initWithCallback(this, FMAgent.ENV_PRODUCTION, new FMCallback() {</span></code><code><span class="code-snippet_outer">      @Override</span></code><code><span class="code-snippet_outer">      public void onEvent(String s) {</span></code><code><span class="code-snippet_outer">          tdBlackbox = s;</span></code><code><span class="code-snippet_outer">          Log.e(TAG,&#34;blackbox:&#34;+tdBlackbox);</span></code><code><span class="code-snippet_outer">          runOnUiThread(new Runnable() {</span></code><code><span class="code-snippet_outer">              @Override</span></code><code><span class="code-snippet_outer">              public void run() {</span></code><code><span class="code-snippet_outer">                  tv1.setText(&#34;blackbox内容是：&#34;+tdBlackbox);</span></code><code><span class="code-snippet_outer">              }</span></code><code><span class="code-snippet_outer">          });</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">  });</span></code></pre></section><h5 data-source-line="52" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">3.2、加载SO</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">JSONObject v6 = null;</span></code><code><span class="code-snippet_outer">        try {</span></code><code><span class="code-snippet_outer">            if(Build.VERSION.SDK_INT &gt;= 17) {</span></code><code><span class="code-snippet_outer">                System.loadLibrary(&#34;tdvm&#34;);</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            System.loadLibrary(&#34;tongdun&#34;);</span></code><code><span class="code-snippet_outer">            goto label_405;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        catch(Throwable v6_1) {</span></code><code><span class="code-snippet_outer">        }</span></code></pre></section><h5 data-source-line="67" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">3.3、执行NI_OnLoad注册Native方法</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:000000709EAE5E4C                   RegisterNatives_sub_786D163E4C</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C                   var_38= -0x38</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C                   var_2C= -0x2C</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C                   var_28= -0x28</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C                   var_20= -0x20</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C                   var_18= -0x18</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C                   var_10= -0x10</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C                   ; __unwind { // 1000</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E4C FF 03 01 D1       SUB             SP, SP, #0x40</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E50 FE 1B 00 F9       STR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E54 E1 17 00 F9       STR             X1, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E58 E2 13 00 F9       STR             X2, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E5C E3 0F 00 F9       STR             X3, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E60 E4 17 00 B9       STR             W4, [SP,#0x40+var_2C]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E64 E1 17 40 F9       LDR             X1, [SP,#0x40+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E68 E2 13 40 F9       LDR             X2, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E6C E3 0F 40 F9       LDR             X3, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E70 E4 17 40 B9       LDR             W4, [SP,#0x40+var_2C]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E74 E0 07 00 F9       STR             X0, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E78 E0 03 01 AA       MOV             X0, X1</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E7C E1 03 02 AA       MOV             X1, X2</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E80 E2 03 03 AA       MOV             X2, X3</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E84 E3 03 04 2A       MOV             W3, W4</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E88 E8 07 40 F9       LDR             X8, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E8C 00 01 3F D6       BLR             X8            ; RegisterNatives</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E8C</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E90 FE 1B 40 F9       LDR             X30, [SP,#0x40+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E94 FF 03 01 91       ADD             SP, SP, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">.text:000000709EAE5E98 C0 03 5F D6       RET</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//native方法</span></code><code><span class="code-snippet_outer">getData2, signature: (Ljava/lang/String;)[B</span></code><code><span class="code-snippet_outer">tongdun, signature: (Landroid/content/Context;)V</span></code><code><span class="code-snippet_outer">tongdun2, signature: (Landroid/content/Context;)V</span></code><code><span class="code-snippet_outer">XOnEvent, signature: (Landroid/content/Context;)Ljava/lang/String;</span></code><code><span class="code-snippet_outer">onSensorChanged, signature: (Landroid/hardware/SensorManager;Lcn/tongdun/android/shell/common/s;Landroid/hardware/SensorEvent;)V</span></code></pre></section><h5 data-source-line="108" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">3.4、整体流程如图3-4所示</span></h5><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="3.31796875" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=19d55f4e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibUUsic2lCsbCP8SREWVdibeW4M7icxibRAUQPa63yWvwPVAjLwLHy2CYg5ibaejjLYuC25jKqNLeQzmUPA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;">图3-4</span></p><h3 data-source-line="111" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.43;font-size: 1.5em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">四、VM虚拟机基本逻辑</span></h3><h5 data-source-line="112" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">4.1、VM逻辑主要在模块libtdvm.so中，该模块导出两个方法：</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">td_eea7e05642c04e240c51 //解压解密VMBycode</span></code><code><span class="code-snippet_outer">td_b13d6928ba611f6a6e37 //解析执行VMBycode</span></code></pre></section><p><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;">libtongdun.so模块中的大部分方法都会调用上面两个方法，传入vmbycode解析执行。</span></p><h5 data-source-line="119" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">4.2、VM流程与分析思路</span></h5><p data-source-line="120" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">td_eea7e05642c04e240c51方法解压解密后VMBycode后进入VM，代码如下：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:000000709EA954F0                               EnterVM_sub_709EA954F0</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_AC= -0xAC</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               databass= -0xA8</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               bycode= -0xA0</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_98= -0x98</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_90= -0x90</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_88= -0x88</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_80= -0x80</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               databass1= -0x78</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_70= -0x70</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_68= -0x68</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_60= -0x60</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_50= -0x50</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_40= -0x40</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_30= -0x30</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_20= -0x20</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_10= -0x10</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               var_s0=  0</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA954F0 FF 03 03 D1                   SUB             SP, SP, #0xC0</span></code><code><span class="code-snippet_outer">.text:000000709EA954F4 E8 2B 00 FD                   STR             D8, [SP,#0xB0+var_60]</span></code><code><span class="code-snippet_outer">.text:000000709EA954F8 FC 6F 06 A9                   STP             X28, X27, [SP,#0xB0+var_50]</span></code><code><span class="code-snippet_outer">.text:000000709EA954FC FA 67 07 A9                   STP             X26, X25, [SP,#0xB0+var_40]</span></code><code><span class="code-snippet_outer">.text:000000709EA95500 F8 5F 08 A9                   STP             X24, X23, [SP,#0xB0+var_30]</span></code><code><span class="code-snippet_outer">.text:000000709EA95504 F6 57 09 A9                   STP             X22, X21, [SP,#0xB0+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EA95508 F4 4F 0A A9                   STP             X20, X19, [SP,#0xB0+var_10]</span></code><code><span class="code-snippet_outer">.text:000000709EA9550C FD 7B 0B A9                   STP             X29, X30, [SP,#0xB0+var_s0]</span></code><code><span class="code-snippet_outer">.text:000000709EA95510 FD C3 02 91                   ADD             X29, SP, #0xB0</span></code><code><span class="code-snippet_outer">.text:000000709EA95514 48 D0 3B D5                   MRS             X8, #3, c13, c0, #2</span></code><code><span class="code-snippet_outer">.text:000000709EA95518 08 15 40 F9                   LDR             X8, [X8,#0x28]</span></code><code><span class="code-snippet_outer">.text:000000709EA9551C F3 03 00 AA                   MOV             X19, X0</span></code><code><span class="code-snippet_outer">.text:000000709EA95520 E8 27 00 F9                   STR             X8, [SP,#0xB0+var_68]</span></code><code><span class="code-snippet_outer">.text:000000709EA95524 68 02 40 F9                   LDR             X8, [X19]</span></code><code><span class="code-snippet_outer">.text:000000709EA95528 69 0A 40 F9                   LDR             X9, [X19,#0x10]</span></code><code><span class="code-snippet_outer">.text:000000709EA9552C 1F 01 09 EB                   CMP             X8, X9</span></code><code><span class="code-snippet_outer">.text:000000709EA95530 6A 1C 01 54                   B.GE            loc_709EA978BC</span></code><code><span class="code-snippet_outer">.text:000000709EA95530</span></code><code><span class="code-snippet_outer">.text:000000709EA95534 7C 16 40 F9                   LDR             X28, [X19,#0x28] ; 解压后bycode</span></code><code><span class="code-snippet_outer">.text:000000709EA95538 77 02 40 F9                   LDR             X23, [X19]</span></code><code><span class="code-snippet_outer">.text:000000709EA9553C 09 02 A0 52 09 21 83 72       MOV             W9, #0x101908</span></code><code><span class="code-snippet_outer">.text:000000709EA95544 3A 00 00 D0                   ADRP            X26, #jpt_709EA958A0@PAGE</span></code><code><span class="code-snippet_outer">.text:000000709EA95548 FB 00 00 B0                   ADRP            X27, #dword_709EAB2008@PAGE</span></code><code><span class="code-snippet_outer">.text:000000709EA9554C 5A 43 3B 91                   ADD             X26, X26, #jpt_709EA958A0@PAGEOFF</span></code><code><span class="code-snippet_outer">.text:000000709EA95550 2D 00 09 8B                   ADD             X13, X1, X9</span></code><code><span class="code-snippet_outer">.text:000000709EA95554 FC 37 01 A9                   STP             X28, X13, [SP,#0xB0+bycode]</span></code><code><span class="code-snippet_outer">.text:000000709EA95558 C8 00 00 14                   B               dsp_loc_786D55A878 ; 取解压后VMbycode</span></code></pre></section><p><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;">解析VMbycode执行对应的Hnadle:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:000000709EA95878                               dsp_loc_786D55A878</span></code><code><span class="code-snippet_outer">.text:000000709EA95878 15 69 7C B8                   LDR             W21, [X8,X28] ; 取解压后VMbycode</span></code><code><span class="code-snippet_outer">.text:000000709EA9587C A8 72 19 53                   UBFX            W8, W21, #0x19, #4</span></code><code><span class="code-snippet_outer">.text:000000709EA95880 08 11 00 51                   SUB             W8, W8, #4    ; switch 12 cases</span></code><code><span class="code-snippet_outer">.text:000000709EA95884 75 3E 00 B9                   STR             W21, [X19,#0x3C]</span></code><code><span class="code-snippet_outer">.text:000000709EA95888 B7 01 00 F9                   STR             X23, [X13]</span></code><code><span class="code-snippet_outer">.text:000000709EA9588C 77 0B 00 B9                   STR             W23, [X27,#dword_709EAB2008@PAGEOFF]</span></code><code><span class="code-snippet_outer">.text:000000709EA95890 1F 2D 00 71                   CMP             W8, #0xB</span></code><code><span class="code-snippet_outer">.text:000000709EA95894 68 00 01 54                   B.HI            dsp_def_786E9038A0 </span></code><code><span class="code-snippet_outer">.text:000000709EA95894</span></code><code><span class="code-snippet_outer">.text:000000709EA95898 48 7B A8 B8                   LDRSW           X8, [X26,X8,LSL#2]</span></code><code><span class="code-snippet_outer">.text:000000709EA9589C 08 01 1A 8B                   ADD             X8, X8, X26</span></code><code><span class="code-snippet_outer">.text:000000709EA958A0 00 01 1F D6                   BR              X8            ; switch jump</span></code></pre></section><h5 data-source-line="187" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">4.3、常见Handle一览</span></h5><p data-source-line="188" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">常见的算术运算</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:000000709EA93DD8                               ADD_sub_709EA93DD8</span></code><code><span class="code-snippet_outer">.text:000000709EA93DD8                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA93DD8 68 00 02 0B                   ADD             W8, W3, W2</span></code><code><span class="code-snippet_outer">.text:000000709EA93DDC 28 00 00 B9                   STR             W8, [X1]</span></code><code><span class="code-snippet_outer">.text:000000709EA93DE0 C0 03 5F D6                   RET</span></code></pre></section><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:000000709EA93E08                               SUB_sub_709EA93E08</span></code><code><span class="code-snippet_outer">.text:000000709EA93E08                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA93E08 48 00 03 4B                   SUB             W8, W2, W3</span></code><code><span class="code-snippet_outer">.text:000000709EA93E0C 28 00 00 B9                   STR             W8, [X1]</span></code><code><span class="code-snippet_outer">.text:000000709EA93E10 C0 03 5F D6                   RET</span></code></pre></section><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:000000709EA93E20                               AND_sub_709EA93E20</span></code><code><span class="code-snippet_outer">.text:000000709EA93E20                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA93E20 68 00 02 0A                   AND             W8, W3, W2</span></code><code><span class="code-snippet_outer">.text:000000709EA93E24 28 00 00 B9                   STR             W8, [X1]</span></code><code><span class="code-snippet_outer">.text:000000709EA93E28 C0 03 5F D6                   RET</span></code></pre></section><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:000000709EA93E44                               EOR_sub_786E901E44  </span></code><code><span class="code-snippet_outer">.text:000000709EA93E44                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA93E44 68 00 02 4A                   EOR             W8, W3, W2</span></code><code><span class="code-snippet_outer">.text:000000709EA93E48 28 00 00 B9                   STR             W8, [X1]</span></code><code><span class="code-snippet_outer">.text:000000709EA93E4C C0 03 5F D6                   RET</span></code></pre></section><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:000000709EA93FAC                               MUL_sub_709EA93FAC</span></code><code><span class="code-snippet_outer">.text:000000709EA93FAC                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA93FAC 68 7C 02 1B                   MUL             W8, W3, W2</span></code><code><span class="code-snippet_outer">.text:000000709EA93FB0 28 00 00 B9                   STR             W8, [X1]</span></code><code><span class="code-snippet_outer">.text:000000709EA93FB4 C0 03 5F D6                   RET</span></code></pre></section><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:000000709EA97B60                               getdatabas_sub_786E905B60 </span></code><code><span class="code-snippet_outer">.text:000000709EA97B60</span></code><code><span class="code-snippet_outer">.text:000000709EA97B60                               var_20= -0x20</span></code><code><span class="code-snippet_outer">.text:000000709EA97B60                               var_18= -0x18</span></code><code><span class="code-snippet_outer">.text:000000709EA97B60                               var_C= -0xC</span></code><code><span class="code-snippet_outer">.text:000000709EA97B60                               var_8= -8</span></code><code><span class="code-snippet_outer">.text:000000709EA97B60                               var_s0=  0</span></code><code><span class="code-snippet_outer">.text:000000709EA97B60</span></code><code><span class="code-snippet_outer">.text:000000709EA97B60                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text:000000709EA97B60 FF C3 00 D1                   SUB             SP, SP, #0x30</span></code><code><span class="code-snippet_outer">.text:000000709EA97B64 FD 7B 02 A9                   STP             X29, X30, [SP,#0x20+var_s0]</span></code><code><span class="code-snippet_outer">.text:000000709EA97B68 FD 83 00 91                   ADD             X29, SP, #0x20</span></code><code><span class="code-snippet_outer">.text:000000709EA97B6C 49 D0 3B D5                   MRS             X9, #3, c13, c0, #2</span></code><code><span class="code-snippet_outer">.text:000000709EA97B70 29 15 40 F9                   LDR             X9, [X9,#0x28]</span></code><code><span class="code-snippet_outer">.text:000000709EA97B74 E8 03 00 AA                   MOV             X8, X0</span></code><code><span class="code-snippet_outer">.text:000000709EA97B78 E0 03 1F AA                   MOV             X0, XZR</span></code><code><span class="code-snippet_outer">.text:000000709EA97B7C A9 83 1F F8                   STUR            X9, [X29,#var_8]</span></code><code><span class="code-snippet_outer">.text:000000709EA97B80 FF 03 00 F9                   STR             XZR, [SP,#0x20+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EA97B84 3F 7C 00 71                   CMP             W1, #0x1F</span></code><code><span class="code-snippet_outer">.text:000000709EA97B88 E0 02 00 54                   B.EQ            loc_709EA97BE4</span></code><code><span class="code-snippet_outer">.text:000000709EA97B88</span></code><code><span class="code-snippet_outer">.text:000000709EA97B8C 3F 74 00 71                   CMP             W1, #0x1D</span></code><code><span class="code-snippet_outer">.text:000000709EA97B90 E1 00 00 54                   B.NE            loc_709EA97BAC</span></code><code><span class="code-snippet_outer">.text:000000709EA97B90</span></code><code><span class="code-snippet_outer">.text:000000709EA97B94 00 21 40 F9                   LDR             X0, [X8,#0x40]</span></code><code><span class="code-snippet_outer">.text:000000709EA97B98 E8 03 00 32                   MOV             W8, #1</span></code><code><span class="code-snippet_outer">.text:000000709EA97B9C A8 43 1F B8                   STUR            W8, [X29,#var_C]</span></code><code><span class="code-snippet_outer">.text:000000709EA97BA0 E8 03 00 91                   MOV             X8, SP</span></code><code><span class="code-snippet_outer">.text:000000709EA97BA4 E8 07 00 F9                   STR             X8, [SP,#0x20+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EA97BA8 0A 00 00 14                   B               loc_709EA97BD0</span></code><code><span class="code-snippet_outer">.text:000000709EA97BA8</span></code><code><span class="code-snippet_outer">.text:000000709EA97BAC                               loc_709EA97BAC</span></code><code><span class="code-snippet_outer">.text:000000709EA97BAC 00 21 40 F9                   LDR             X0, [X8,#0x40]</span></code><code><span class="code-snippet_outer">.text:000000709EA97BB0 3F 78 00 71                   CMP             W1, #0x1E</span></code><code><span class="code-snippet_outer">.text:000000709EA97BB4 61 00 00 54                   B.NE            loc_709EA97BC0</span></code><code><span class="code-snippet_outer">.text:000000709EA97BB4</span></code><code><span class="code-snippet_outer">.text:000000709EA97BB8 E8 03 1F 32                   MOV             W8, #2</span></code><code><span class="code-snippet_outer">.text:000000709EA97BBC 02 00 00 14                   B               loc_709EA97BC4</span></code><code><span class="code-snippet_outer">.text:000000709EA97BBC</span></code><code><span class="code-snippet_outer">.text:000000709EA97BC0</span></code><code><span class="code-snippet_outer">.text:000000709EA97BC0                               loc_709EA97BC0</span></code><code><span class="code-snippet_outer">.text:000000709EA97BC0 28 1C 03 11                   ADD             W8, W1, #0xC7</span></code><code><span class="code-snippet_outer">.text:000000709EA97BC0</span></code><code><span class="code-snippet_outer">.text:000000709EA97BC4</span></code><code><span class="code-snippet_outer">.text:000000709EA97BC4                               loc_709EA97BC4</span></code><code><span class="code-snippet_outer">.text:000000709EA97BC4 E9 03 00 91                   MOV             X9, SP</span></code><code><span class="code-snippet_outer">.text:000000709EA97BC8 A8 43 1F B8                   STUR            W8, [X29,#var_C]</span></code><code><span class="code-snippet_outer">.text:000000709EA97BCC E9 07 00 F9                   STR             X9, [SP,#0x20+var_18]</span></code><code><span class="code-snippet_outer">.text:000000709EA97BCC</span></code><code><span class="code-snippet_outer">.text:000000709EA97BD0</span></code><code><span class="code-snippet_outer">.text:000000709EA97BD0                               loc_709EA97BD0</span></code><code><span class="code-snippet_outer">.text:000000709EA97BD0 A1 33 00 D1                   SUB             X1, X29, #-var_C</span></code><code><span class="code-snippet_outer">.text:000000709EA97BD4 E2 23 00 91                   ADD             X2, SP, #0x20+var_18</span></code><code><span class="code-snippet_outer">.text:000000709EA97BD8 E3 03 00 32                   MOV             W3, #1</span></code><code><span class="code-snippet_outer">.text:000000709EA97BDC 2A EF FF 97                   BL              getdatabasse_sub_786E901884</span></code><code><span class="code-snippet_outer">.text:000000709EA97BDC</span></code><code><span class="code-snippet_outer">.text:000000709EA97BE0 E0 03 40 F9                   LDR             X0, [SP,#0x20+var_20]</span></code><code><span class="code-snippet_outer">.text:000000709EA97BE0</span></code><code><span class="code-snippet_outer">.text:000000709EA97BE4</span></code><code><span class="code-snippet_outer">.text:000000709EA97BE4                               loc_709EA97BE4</span></code><code><span class="code-snippet_outer">.text:000000709EA97BE4 48 D0 3B D5                   MRS             X8, #3, c13, c0, #2</span></code><code><span class="code-snippet_outer">.text:000000709EA97BE8 08 15 40 F9                   LDR             X8, [X8,#0x28]</span></code><code><span class="code-snippet_outer">.text:000000709EA97BEC A9 83 5F F8                   LDUR            X9, [X29,#var_8]</span></code><code><span class="code-snippet_outer">.text:000000709EA97BF0 1F 01 09 EB                   CMP             X8, X9</span></code><code><span class="code-snippet_outer">.text:000000709EA97BF4 81 00 00 54                   B.NE            loc_709EA97C04</span></code><code><span class="code-snippet_outer">.text:000000709EA97BF4</span></code><code><span class="code-snippet_outer">.text:000000709EA97BF8 FD 7B 42 A9                   LDP             X29, X30, [SP,#0x20+var_s0]</span></code><code><span class="code-snippet_outer">.text:000000709EA97BFC FF C3 00 91                   ADD             SP, SP, #0x30 ; &#39;0&#39;</span></code><code><span class="code-snippet_outer">.text:000000709EA97C00 C0 03 5F D6                   RET</span></code></pre></section><p><span style="font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">以上Handle都是加密时要用到的。</span><br/></p><h5 data-source-line="300" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">4.4、眺出VM调用其它模块的Handle</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:000000709EA936C0                               call_loc_709EA936C0 </span></code><code><span class="code-snippet_outer">.text:000000709EA936C0 FF 03 02 D1                   SUB             SP, SP, #0x80</span></code><code><span class="code-snippet_outer">.text:000000709EA936C4 20 01 3F D6                   BLR             X9       ; 调用tongdun.so</span></code><code><span class="code-snippet_outer">.text:000000709EA936C4</span></code><code><span class="code-snippet_outer">.text:000000709EA936C8 FF 03 02 91                   ADD             SP, SP, #0x80</span></code><code><span class="code-snippet_outer">.text:000000709EA936CC E8 E3 40 B9                   LDR             W8, [SP,#0x2E0+var_200]</span></code><code><span class="code-snippet_outer">.text:000000709EA936D0 48 00 00 35                   CBNZ            W8, loc_709EA936D8</span></code><code><span class="code-snippet_outer">.text:000000709EA936D0</span></code><code><span class="code-snippet_outer">.text:000000709EA936D4 5F 00 00 14                   B               loc_709EA93850</span></code></pre></section><p><span style="color: rgb(61, 167, 66);"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;">如果不还原算法的话调试时重点关注这个Handle就能大致分析清楚整体的逻辑。如果要做算法还原就得分析每一个Handle。</span></span></p><h3 data-source-line="313" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.43;font-size: 1.5em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">五、环境检测与设备信息采集</span></h3><h5 data-source-line="314" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">5.1、随机数AES加密存放本地</span></h5><p data-source-line="315" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">如果是第一次运行APP判断本地是否有随机数ID，如果没有就生成用AES加密存放在三个地方做为钉子文件：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">SharedPreferences</span> <span class="code-snippet__string">td-client-id-3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">/data/user/0/包名/files/.td-3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">/storage/emulated/0/.td-3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">存不同的地用不同的AES</span> <span class="code-snippet__string">KEY</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">key</span> <span class="code-snippet__string">bs3ggr0ismnzmdwxkacrq88xs9uj3l06 ykj314o0nd8423k2cimo5fvx0k234sc5 phx7ryl7sjppatga3nfl1caircw6ct79</span></span></code></pre></section><p><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;">AES加密是反射调用JAVA实现：</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   ; R1:原数据,R2:key</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   AES_sub_786D1CCA6C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   var_CC= -0xCC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_1= -0xC8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_2= -0xC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_3= -0xB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_4= -0xB0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_5= -0xA8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_6= -0xA0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_7= -0x98</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_8= -0x90</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_9= -0x88</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_10= -0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_11= -0x78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_12= -0x70</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_13= -0x68</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_14= -0x60</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_15= -0x58</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_16= -0x50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_17= -0x48</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_18= -0x40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_19= -0x38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_20= -0x30</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_21= -0x28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_22= -0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   anonymous_23= -0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   var_10= -0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   var_s0=  0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C                   ; __unwind { // 1000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA6C FC 0F 1E F8       STR             X28, [SP,#-0x10+var_10]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA70 FD 7B 01 A9       STP             X29, X30, [SP,#0x10+var_s0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA74 FD 43 00 91       ADD             X29, SP, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA78 FF 43 08 D1       SUB             SP, SP, #0x210</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA7C A8 83 03 D1       SUB             X8, X29, #-(var_E5+5)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA80 00 2D 00 F9       STR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA84 01 29 00 F9       STR             X1, [X8,#0x50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA88 02 25 00 F9       STR             X2, [X8,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA8C 03 21 00 F9       STR             X3, [X8,#0x40]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA90 00 29 40 F9       LDR             X0, [X8,#0x50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA94 00 35 00 F9       STR             X0, [X8,#0x68]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA98 89 5F 89 52 49 A1+MOV             W9, #0xB50A4AFC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EA98 B6 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAA0 E9 AF 00 B9       STR             W9, [SP,#0x220+var_174]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAA4 E8 53 00 F9       STR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAA8 01 00 00 14       B               loc_709EB4EAAC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAA8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAAC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAAC                   loc_709EB4EAAC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAAC E8 AF 40 B9       LDR             W8, [SP,#0x220+var_174]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAB0 E9 03 08 2A       MOV             W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAB4 4A 7D 9C 52 0A 0F+MOV             W10, #0x8878E3EA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAB4 B1 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EABC 08 01 0A 6B       SUBS            W8, W8, W10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAC0 E9 9F 00 B9       STR             W9, [SP,#0x220+var_184]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAC4 E8 9B 00 B9       STR             W8, [SP,#0x220+var_188]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAC8 00 07 00 54       B.EQ            loc_709EB4EBA8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAC8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EACC 01 00 00 14       B               loc_709EB4EAD0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EACC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAD0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAD0                   loc_709EB4EAD0 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAD0 88 5D 86 52 A8 84+MOV             W8, #0x9C2532EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAD0 B3 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAD8 E9 9F 40 B9       LDR             W9, [SP,#0x220+var_184]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EADC 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAE0 E8 97 00 B9       STR             W8, [SP,#0x220+var_18C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAE4 80 3B 00 54       B.EQ            loc_709EB4F254</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAE4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAE8 01 00 00 14       B               loc_709EB4EAEC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAE8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAEC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAEC                   loc_709EB4EAEC </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAEC 88 5F 89 52 48 A1+MOV             W8, #0xB50A4AFC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAEC B6 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAF4 E9 9F 40 B9       LDR             W9, [SP,#0x220+var_184]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAF8 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EAFC E8 93 00 B9       STR             W8, [SP,#0x220+var_190]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB00 E0 03 00 54       B.EQ            loc_709EB4EB7C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB00</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB04 01 00 00 14       B               loc_709EB4EB08</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB04</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB08</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB08                   loc_709EB4EB08 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB08 A8 61 87 52 48 30+MOV             W8, #0xB9823B0D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB08 B7 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB10 E9 9F 40 B9       LDR             W9, [SP,#0x220+var_184]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB14 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB18 E8 8F 00 B9       STR             W8, [SP,#0x220+var_194]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB1C E0 38 00 54       B.EQ            loc_709EB4F238</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB20 01 00 00 14       B               loc_709EB4EB24</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB24</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB24                   loc_709EB4EB24</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB24 88 3C 99 52 48 99+MOV             W8, #0xCCCAC9E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB24 B9 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB2C E9 9F 40 B9       LDR             W9, [SP,#0x220+var_184]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB30 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB34 E8 8B 00 B9       STR             W8, [SP,#0x220+var_198]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB38 E0 04 00 54       B.EQ            loc_709EB4EBD4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB3C 01 00 00 14       B               loc_709EB4EB40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB3C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB40                   loc_709EB4EB40 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB40 A8 C9 8A 52 E8 1C+MOV             W8, #0x48E7564D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB40 A9 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB48 E9 9F 40 B9       LDR             W9, [SP,#0x220+var_184]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB4C 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB50 E8 87 00 B9       STR             W8, [SP,#0x220+var_19C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB54 E0 40 00 54       B.EQ            loc_709EB4F370</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB58 01 00 00 14       B               loc_709EB4EB5C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB58</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB5C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB5C                   loc_709EB4EB5C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB5C 08 81 97 52 28 4C+MOV             W8, #0x5A61BC08</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB5C AB 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB64 E9 9F 40 B9       LDR             W9, [SP,#0x220+var_184]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB68 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB6C E8 83 00 B9       STR             W8, [SP,#0x220+var_1A0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB70 E0 40 00 54       B.EQ            loc_709EB4F38C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB70</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB74 01 00 00 14       B               loc_709EB4EB78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB74</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB78                   loc_709EB4EB78 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB78 0B 02 00 14       B               loc_709EB4F3A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB7C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB7C                   loc_709EB4EB7C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB7C E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB80 09 35 40 F9       LDR             X9, [X8,#0x68]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB84 29 01 00 F1       SUBS            X9, X9, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB88 AA C9 8A 52 EA 1C+MOV             W10, #0x48E7564D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB88 A9 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB90 4B 7D 9C 52 0B 0F+MOV             W11, #0x8878E3EA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB90 B1 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB98 6A 11 8A 1A       CSEL            W10, W11, W10, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EB9C EA AF 00 B9       STR             W10, [SP,#0x220+var_174]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBA0 E9 3F 00 F9       STR             X9, [SP,#0x220+var_1A8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBA4 00 02 00 14       B               loc_709EB4F3A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBA8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBA8                   loc_709EB4EBA8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBA8 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBAC 09 25 40 F9       LDR             X9, [X8,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBB0 29 01 00 F1       SUBS            X9, X9, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBB4 AA C9 8A 52 EA 1C+MOV             W10, #0x48E7564D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBB4 A9 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBBC 8B 3C 99 52 4B 99+MOV             W11, #0xCCCAC9E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBBC B9 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBC4 6A 11 8A 1A       CSEL            W10, W11, W10, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBC8 EA AF 00 B9       STR             W10, [SP,#0x220+var_174]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBCC E9 3B 00 F9       STR             X9, [SP,#0x220+var_1B0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBD0 F5 01 00 14       B               loc_709EB4F3A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBD0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBD4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBD4                   loc_709EB4EBD4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBD4 88 03 00 D0 08 81+ADRL            X8, td_8162780960521470701 ; &#34;AES&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBD4 39 91</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBDC E9 53 40 F9       LDR             X9, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBE0 28 1D 00 F9       STR             X8, [X9,#0x38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBE4 88 03 00 D0 08 91+ADRL            X8, td_18178131887862966684 ; &#34;AES/ECB/PKCS5Padding&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBE4 39 91</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBEC 28 19 00 F9       STR             X8, [X9,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBF0 20 2D 40 F9       LDR             X0, [X9,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBF4 21 1D 40 F9       LDR             X1, [X9,#0x38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBF8 BB 68 00 94       BL              NewStringUTF_sub_786D1E6EE4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBF8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EBFC E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC00 00 15 00 F9       STR             X0, [X8,#0x28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC04 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC08 01 19 40 F9       LDR             X1, [X8,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC0C B6 68 00 94       BL              NewStringUTF_sub_786D1E6EE4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC0C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC10 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC14 00 11 00 F9       STR             X0, [X8,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC18 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC1C EA 03 1B 32       MOV             W10, #0x20 ; &#39; &#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC20 E1 03 0A 2A       MOV             W1, W10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC24 EA 6F 00 B9       STR             W10, [SP,#0x220+var_1B4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC28 98 69 00 94       BL              NewByteArray_sub_786D1E7288</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC2C E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC30 00 0D 00 F9       STR             X0, [X8,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC34 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC38 01 0D 40 F9       LDR             X1, [X8,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC3C 04 25 40 F9       LDR             X4, [X8,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC40 EA 03 1F 2A       MOV             W10, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC44 E2 03 0A 2A       MOV             W2, W10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC48 E3 6F 40 B9       LDR             W3, [SP,#0x220+var_1B4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC4C EA 6B 00 B9       STR             W10, [SP,#0x220+var_1B8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC50 BC 69 00 94       BL              SetByteArrayRegion_sub_786D1E7340</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC54 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC58 00 29 40 F9       LDR             X0, [X8,#0x50] ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC5C DD 45 FE 97       BL              .strlen</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC5C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC60 EA 03 00 2A       MOV             W10, W0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC64 AA 43 13 B8       STUR            W10, [X29,#var_CC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC68 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC6C 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC70 A1 43 53 B8       LDUR            W1, [X29,#var_CC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC74 85 69 00 94       BL              NewByteArray_sub_786D1E7288</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC74</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC78 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC7C 00 05 00 F9       STR             X0, [X8,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC80 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC84 01 05 40 F9       LDR             X1, [X8,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC88 A3 43 53 B8       LDUR            W3, [X29,#var_CC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC8C 04 29 40 F9       LDR             X4, [X8,#0x50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC90 E2 6B 40 B9       LDR             W2, [SP,#0x220+var_1B8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC94 AB 69 00 94       BL              SetByteArrayRegion_sub_786D1E7340</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC94</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC98 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EC9C 09 2D 40 F9       LDR             X9, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECA0 CA 14 80 52       MOV             W10, #0xA6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECA4 AA 03 10 38       STURB           W10, [X29,#var_100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECA8 CA 02 80 52       MOV             W10, #0x16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECAC AA 13 10 38       STURB           W10, [X29,#var_FF]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECB0 E2 0C 80 52       MOV             W2, #0x67 ; &#39;g&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECB4 A2 23 10 38       STURB           W2, [X29,#var_FE]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECB8 AA 33 10 38       STURB           W10, [X29,#var_FD]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECBC EA 10 80 52       MOV             W10, #0x87</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECC0 AA 43 10 38       STURB           W10, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECC4 4A 1E 80 52       MOV             W10, #0xF2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECC8 AA 53 10 38       STURB           W10, [X29,#var_FB]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECCC C2 06 80 52       MOV             W2, #0x36 ; &#39;6&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECD0 A2 63 10 38       STURB           W2, [X29,#var_FA]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECD4 E3 04 80 52       MOV             W3, #0x27 ; &#39;&#39;&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECD8 A3 73 10 38       STURB           W3, [X29,#var_F9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECDC EB 12 80 52       MOV             W11, #0x97</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECE0 AB 83 10 38       STURB           W11, [X29,#var_F8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECE4 EC 0B 00 32       MOV             W12, #7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECE8 AC 93 10 38       STURB           W12, [X29,#var_F7]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECEC ED 08 80 52       MOV             W13, #0x47 ; &#39;G&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECF0 AD A3 10 38       STURB           W13, [X29,#var_F6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECF4 CE 1E 80 52       MOV             W14, #0xF6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECF8 AE B3 10 38       STURB           W14, [X29,#var_F5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ECFC AA C3 10 38       STURB           W10, [X29,#var_F4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED00 EE 06 80 52       MOV             W14, #0x37 ; &#39;7&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED04 AE D3 10 38       STURB           W14, [X29,#var_F3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED08 AC E3 10 38       STURB           W12, [X29,#var_F2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED0C CE 0A 80 52       MOV             W14, #0x56 ; &#39;V&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED10 AE F3 10 38       STURB           W14, [X29,#var_F1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED14 A2 03 11 38       STURB           W2, [X29,#var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED18 AA 13 11 38       STURB           W10, [X29,#var_EF]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED1C AA 06 80 52       MOV             W10, #0x35 ; &#39;5&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED20 AA 23 11 38       STURB           W10, [X29,#var_EE]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED24 AE 33 11 38       STURB           W14, [X29,#var_ED]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED28 A2 43 11 38       STURB           W2, [X29,#var_EC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED2C A3 53 11 38       STURB           W3, [X29,#var_EB]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED30 AE 63 11 38       STURB           W14, [X29,#var_EA]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED34 AD 73 11 38       STURB           W13, [X29,#var_E9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED38 8D 16 80 52       MOV             W13, #0xB4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED3C AD 83 11 38       STURB           W13, [X29,#var_E8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED40 AE 93 11 38       STURB           W14, [X29,#var_E7]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED44 AB A3 11 38       STURB           W11, [X29,#var_E6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED48 AA B3 11 38       STURB           W10, [X29,#var_E5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED4C AC C3 11 38       STURB           W12, [X29,#var_E5+1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED50 AE D3 11 38       STURB           W14, [X29,#var_E5+2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED54 A2 E3 11 38       STURB           W2, [X29,#var_E5+3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED58 EA 6B 40 B9       LDR             W10, [SP,#0x220+var_1B8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED5C AA F3 11 38       STURB           W10, [X29,#var_E5+4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED60 A0 03 04 D1       SUB             X0, X29, #-var_100</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED64 00 3D 00 F9       STR             X0, [X8,#0x78]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED68 00 3D 40 F9       LDR             X0, [X8,#0x78]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED6C 00 39 00 F9       STR             X0, [X8,#0x70]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED70 E9 33 00 F9       STR             X9, [SP,#0x220+var_1C0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED74 01 00 00 14       B               loc_709EB4ED78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED74</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED78                   loc_709EB4ED78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED78 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED7C 09 3D 40 F9       LDR             X9, [X8,#0x78]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED80 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED84 8A 01 00 34       CBZ             W10, loc_709EB4EDB4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED84</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED88 01 00 00 14       B               loc_709EB4ED8C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED8C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED8C                   loc_709EB4ED8C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED8C E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED90 09 3D 40 F9       LDR             X9, [X8,#0x78]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED94 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED98 4B 7D 04 53       LSR             W11, W10, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4ED9C 4B 1D 1C 33       BFI             W11, W10, #4, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDA0 2B 01 00 39       STRB            W11, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDA4 09 3D 40 F9       LDR             X9, [X8,#0x78]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDA8 29 05 00 91       ADD             X9, X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDAC 09 3D 00 F9       STR             X9, [X8,#0x78]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDB0 F2 FF FF 17       B               loc_709EB4ED78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDB0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDB4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDB4                   loc_709EB4EDB4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDB4 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDB8 01 39 40 F9       LDR             X1, [X8,#0x70]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDBC E0 33 40 F9       LDR             X0, [SP,#0x220+var_1C0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDC0 8E 69 00 94       BL              FindClass_sub_786D1E73F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDC4 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDC8 00 01 00 F9       STR             X0, [X8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDCC 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDD0 01 01 40 F9       LDR             X1, [X8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDD4 04 0D 40 F9       LDR             X4, [X8,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDD8 05 15 40 F9       LDR             X5, [X8,#0x28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDDC 42 01 00 D0 42 98+ADRL            X2, td_9741829121851609613 ; &#34;&lt;init&gt;&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDDC 32 91</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDE4 43 01 00 D0 63 B4+ADRL            X3, td_1727475097158774760 ; &#34;([BLjava/lang/String;)V&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDE4 32 91</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDEC B3 01 00 94       BL              CallVoidMethod_sub_786D1CD4B8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDEC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDF0 E0 8F 00 F9       STR             X0, [SP,#0x220+var_108]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDF4 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDF8 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EDFC C9 14 80 52       MOV             W9, #0xA6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE00 E9 F3 03 39       STRB            W9, [SP,#0xFC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE04 C9 02 80 52       MOV             W9, #0x16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE08 E9 F7 03 39       STRB            W9, [SP,#0xFD]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE0C EA 0C 80 52       MOV             W10, #0x67 ; &#39;g&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE10 EA FB 03 39       STRB            W10, [SP,#0xFE]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE14 E9 FF 03 39       STRB            W9, [SP,#0x220+var_121]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE18 E9 10 80 52       MOV             W9, #0x87</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE1C E9 03 04 39       STRB            W9, [SP,#0x220+var_120]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE20 49 1E 80 52       MOV             W9, #0xF2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE24 E9 07 04 39       STRB            W9, [SP,#0x220+var_11F]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE28 CA 06 80 52       MOV             W10, #0x36 ; &#39;6&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE2C EA 0B 04 39       STRB            W10, [SP,#0x220+var_11E]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE30 EA 04 80 52       MOV             W10, #0x27 ; &#39;&#39;&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE34 EA 0F 04 39       STRB            W10, [SP,#0x220+var_11D]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE38 EB 12 80 52       MOV             W11, #0x97</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE3C EB 13 04 39       STRB            W11, [SP,#0x220+var_11C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE40 EB 0B 00 32       MOV             W11, #7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE44 EB 17 04 39       STRB            W11, [SP,#0x220+var_11B]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE48 EC 08 80 52       MOV             W12, #0x47 ; &#39;G&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE4C EC 1B 04 39       STRB            W12, [SP,#0x220+var_11A]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE50 CC 1E 80 52       MOV             W12, #0xF6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE54 EC 1F 04 39       STRB            W12, [SP,#0x220+var_119]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE58 E9 23 04 39       STRB            W9, [SP,#0x220+var_118]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE5C 89 06 80 52       MOV             W9, #0x34 ; &#39;4&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE60 E9 27 04 39       STRB            W9, [SP,#0x220+var_117]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE64 C9 12 80 52       MOV             W9, #0x96</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE68 E9 2B 04 39       STRB            W9, [SP,#0x220+var_116]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE6C EB 2F 04 39       STRB            W11, [SP,#0x220+var_115]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE70 C9 10 80 52       MOV             W9, #0x86</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE74 E9 33 04 39       STRB            W9, [SP,#0x220+var_114]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE78 C9 0A 80 52       MOV             W9, #0x56 ; &#39;V&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE7C E9 37 04 39       STRB            W9, [SP,#0x220+var_113]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE80 EA 3B 04 39       STRB            W10, [SP,#0x220+var_113+1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE84 E9 03 1F 2A       MOV             W9, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE88 E9 3F 04 39       STRB            W9, [SP,#0x220+var_113+2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE8C E1 F3 03 91       ADD             X1, SP, #0xFC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE90 01 65 00 F9       STR             X1, [X8,#0xC8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE94 01 65 40 F9       LDR             X1, [X8,#0xC8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE98 01 61 00 F9       STR             X1, [X8,#0xC0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EE9C E0 2F 00 F9       STR             X0, [SP,#0x220+var_1C8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEA0 01 00 00 14       B               loc_709EB4EEA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEA0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEA4                   loc_709EB4EEA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEA4 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEA8 09 65 40 F9       LDR             X9, [X8,#0xC8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEAC 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEB0 8A 01 00 34       CBZ             W10, loc_709EB4EEE0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEB0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEB4 01 00 00 14       B               loc_709EB4EEB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEB4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEB8                   loc_709EB4EEB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEB8 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEBC 09 65 40 F9       LDR             X9, [X8,#0xC8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEC0 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEC4 4B 7D 04 53       LSR             W11, W10, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEC8 4B 1D 1C 33       BFI             W11, W10, #4, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EECC 2B 01 00 39       STRB            W11, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EED0 09 65 40 F9       LDR             X9, [X8,#0xC8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EED4 29 05 00 91       ADD             X9, X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EED8 09 65 00 F9       STR             X9, [X8,#0xC8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEDC F2 FF FF 17       B               loc_709EB4EEA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEE0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEE0                   loc_709EB4EEE0 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEE0 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEE4 01 61 40 F9       LDR             X1, [X8,#0xC0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEE8 04 11 40 F9       LDR             X4, [X8,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEEC 02 03 00 B0 42 D0+ADRL            X2, td_4822081916216048550 ; &#34;getInstance&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEEC 11 91</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEF4 03 03 00 B0 63 BC+ADRL            X3, td_12347290237301947307 ; &#34;(Ljava/lang/String;)Ljavax/crypto/Ciphe&#34;...</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEF4 12 91</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EEFC E0 2F 40 F9       LDR             X0, [SP,#0x220+var_1C8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF00 80 01 00 94       BL              CallVoidMethod_sub_786D1CD500</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF00</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF04 E0 8B 00 F9       STR             X0, [SP,#0x220+var_113+3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF08 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF0C 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF10 E1 8B 40 F9       LDR             X1, [SP,#0x220+var_113+3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF14 C9 12 80 52       MOV             W9, #0x96</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF18 E9 D3 03 39       STRB            W9, [SP,#0x220+var_12E+2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF1C CA 1C 80 52       MOV             W10, #0xE6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF20 EA D7 03 39       STRB            W10, [SP,#0x220+var_12E+3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF24 E9 DB 03 39       STRB            W9, [SP,#0x220+var_12E+4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF28 E9 08 80 52       MOV             W9, #0x47 ; &#39;G&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF2C E9 DF 03 39       STRB            W9, [SP,#0x220+var_12E+5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF30 E9 03 1F 2A       MOV             W9, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF34 E9 E3 03 39       STRB            W9, [SP,#0x220+var_12E+6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF38 E2 D3 03 91       ADD             X2, SP, #0x220+var_12E+2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF3C 02 5D 00 F9       STR             X2, [X8,#0xB8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF40 02 5D 40 F9       LDR             X2, [X8,#0xB8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF44 02 59 00 F9       STR             X2, [X8,#0xB0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF48 E0 2B 00 F9       STR             X0, [SP,#0x220+var_1D0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF4C E1 27 00 F9       STR             X1, [SP,#0x220+var_1D8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF50 01 00 00 14       B               loc_709EB4EF54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF54                   loc_709EB4EF54 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF54 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF58 09 5D 40 F9       LDR             X9, [X8,#0xB8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF5C 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF60 8A 01 00 34       CBZ             W10, loc_709EB4EF90</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF60</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF64 01 00 00 14       B               loc_709EB4EF68</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF64</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF68</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF68                   loc_709EB4EF68</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF68 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF6C 09 5D 40 F9       LDR             X9, [X8,#0xB8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF70 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF74 4B 7D 04 53       LSR             W11, W10, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF78 4B 1D 1C 33       BFI             W11, W10, #4, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF7C 2B 01 00 39       STRB            W11, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF80 09 5D 40 F9       LDR             X9, [X8,#0xB8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF84 29 05 00 91       ADD             X9, X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF88 09 5D 00 F9       STR             X9, [X8,#0xB8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF8C F2 FF FF 17       B               loc_709EB4EF54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF8C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF90</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF90                   loc_709EB4EF90 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF90 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF94 09 59 40 F9       LDR             X9, [X8,#0xB0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF98 4A 10 80 52       MOV             W10, #0x82</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EF9C EA 73 03 39       STRB            W10, [SP,#0x220+var_144]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFA0 8A 12 80 52       MOV             W10, #0x94</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFA4 EA 77 03 39       STRB            W10, [SP,#0x220+var_143]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFA8 8A 18 80 52       MOV             W10, #0xC4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFAC EA 7B 03 39       STRB            W10, [SP,#0x220+var_142]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFB0 CA 14 80 52       MOV             W10, #0xA6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFB4 EA 7F 03 39       STRB            W10, [SP,#0x220+var_141]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFB8 CA 02 80 52       MOV             W10, #0x16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFBC EA 83 03 39       STRB            W10, [SP,#0x220+var_140]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFC0 EB 0C 80 52       MOV             W11, #0x67 ; &#39;g&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFC4 EB 87 03 39       STRB            W11, [SP,#0x220+var_13F]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFC8 EA 8B 03 39       STRB            W10, [SP,#0x220+var_13E]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFCC 4A 1E 80 52       MOV             W10, #0xF2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFD0 EA 8F 03 39       STRB            W10, [SP,#0x220+var_13D]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFD4 EB 06 80 52       MOV             W11, #0x37 ; &#39;7&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFD8 EB 93 03 39       STRB            W11, [SP,#0x220+var_13C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFDC CB 0A 80 52       MOV             W11, #0x56 ; &#39;V&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFE0 EB 97 03 39       STRB            W11, [SP,#0x220+var_13B]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFE4 CC 06 80 52       MOV             W12, #0x36 ; &#39;6&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFE8 EC 9B 03 39       STRB            W12, [SP,#0x220+var_13A]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFEC EC 0A 80 52       MOV             W12, #0x57 ; &#39;W&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFF0 EC 9F 03 39       STRB            W12, [SP,#0x220+var_139]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFF4 EC 04 80 52       MOV             W12, #0x27 ; &#39;&#39;&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFF8 EC A3 03 39       STRB            W12, [SP,#0x220+var_138]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4EFFC CC 12 80 52       MOV             W12, #0x96</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F000 EC A7 03 39       STRB            W12, [SP,#0x220+var_137]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F004 EC 08 80 52       MOV             W12, #0x47 ; &#39;G&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F008 EC AB 03 39       STRB            W12, [SP,#0x220+var_136]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F00C EC 12 80 52       MOV             W12, #0x97</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F010 EC AF 03 39       STRB            W12, [SP,#0x220+var_135]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F014 EA B3 03 39       STRB            W10, [SP,#0x220+var_134]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F018 8A 16 80 52       MOV             W10, #0xB4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F01C EA B7 03 39       STRB            W10, [SP,#0x220+var_133]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F020 EB BB 03 39       STRB            W11, [SP,#0x220+var_132]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F024 EC BF 03 39       STRB            W12, [SP,#0x220+var_131]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F028 6A 16 80 52       MOV             W10, #0xB3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F02C EA C3 03 39       STRB            W10, [SP,#0x220+var_130]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F030 4A 12 80 52       MOV             W10, #0x92</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F034 EA C7 03 39       STRB            W10, [SP,#0x220+var_12F]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F038 AA 0C 80 52       MOV             W10, #0x65 ; &#39;e&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F03C EA CB 03 39       STRB            W10, [SP,#0x220+var_12E]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F040 EA 03 1F 2A       MOV             W10, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F044 EA CF 03 39       STRB            W10, [SP,#0x220+var_12E+1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F048 ED 73 03 91       ADD             X13, SP, #0x220+var_144</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F04C 0D 55 00 F9       STR             X13, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F050 0D 55 40 F9       LDR             X13, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F054 0D 51 00 F9       STR             X13, [X8,#0xA0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F058 E9 23 00 F9       STR             X9, [SP,#0x220+var_1E0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F05C 01 00 00 14       B               loc_709EB4F060</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F060</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F060                   loc_709EB4F060</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F060 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F064 09 55 40 F9       LDR             X9, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F068 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F06C 8A 01 00 34       CBZ             W10, loc_709EB4F09C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F06C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F070 01 00 00 14       B               loc_709EB4F074</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F074</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F074                   loc_709EB4F074</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F074 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F078 09 55 40 F9       LDR             X9, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F07C 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F080 4B 7D 04 53       LSR             W11, W10, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F084 4B 1D 1C 33       BFI             W11, W10, #4, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F088 2B 01 00 39       STRB            W11, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F08C 09 55 40 F9       LDR             X9, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F090 29 05 00 91       ADD             X9, X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F094 09 55 00 F9       STR             X9, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F098 F2 FF FF 17       B               loc_709EB4F060</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F09C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F09C                   loc_709EB4F09C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F09C E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0A0 03 51 40 F9       LDR             X3, [X8,#0xA0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0A4 E5 8F 40 F9       LDR             X5, [SP,#0x220+var_108]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0A8 E4 03 00 32       MOV             W4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0AC E0 2B 40 F9       LDR             X0, [SP,#0x220+var_1D0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0B0 E1 27 40 F9       LDR             X1, [SP,#0x220+var_1D8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0B4 E2 23 40 F9       LDR             X2, [SP,#0x220+var_1E0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0B8 22 01 00 94       BL              CallVoidMethod_sub_786D1CD540</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0B8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0BC E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0C0 01 2D 40 F9       LDR             X1, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0C4 E2 8B 40 F9       LDR             X2, [SP,#0x220+var_113+3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0C8 C4 08 80 52       MOV             W4, #0x46 ; &#39;F&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0CC E4 23 03 39       STRB            W4, [SP,#0x220+var_15B+3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0D0 C4 1E 80 52       MOV             W4, #0xF6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0D4 E4 27 03 39       STRB            W4, [SP,#0x220+var_15B+4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0D8 84 0C 80 52       MOV             W4, #0x64 ; &#39;d&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0DC E4 2B 03 39       STRB            W4, [SP,#0x220+var_15B+5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0E0 C4 12 80 52       MOV             W4, #0x96</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0E4 E4 2F 03 39       STRB            W4, [SP,#0x220+var_15B+6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0E8 C4 1C 80 52       MOV             W4, #0xE6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0EC E4 33 03 39       STRB            W4, [SP,#0x220+var_15B+7]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0F0 C4 02 80 52       MOV             W4, #0x16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0F4 E4 37 03 39       STRB            W4, [SP,#0x220+var_153]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0F8 C4 18 80 52       MOV             W4, #0xC6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F0FC E4 3B 03 39       STRB            W4, [SP,#0x220+var_152]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F100 E4 03 1F 2A       MOV             W4, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F104 E4 3F 03 39       STRB            W4, [SP,#0x220+var_151]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F108 E3 23 03 91       ADD             X3, SP, #0x220+var_15B+3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F10C 03 4D 00 F9       STR             X3, [X8,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F110 03 4D 40 F9       LDR             X3, [X8,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F114 03 49 00 F9       STR             X3, [X8,#0x90]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F118 E0 3F 00 B9       STR             W0, [SP,#0x220+var_1E4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F11C E1 1B 00 F9       STR             X1, [SP,#0x220+var_1F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F120 E2 17 00 F9       STR             X2, [SP,#0x220+var_1F8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F124 01 00 00 14       B               loc_709EB4F128</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F124</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F128</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F128                   loc_709EB4F128</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F128                                                 ; AES_sub_786D1CCA6C+6F4↓j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F128 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F12C 09 4D 40 F9       LDR             X9, [X8,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F130 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F134 8A 01 00 34       CBZ             W10, loc_709EB4F164</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F134</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F138 01 00 00 14       B               loc_709EB4F13C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F138</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F13C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F13C                   loc_709EB4F13C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F13C E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F140 09 4D 40 F9       LDR             X9, [X8,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F144 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F148 4B 7D 04 53       LSR             W11, W10, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F14C 4B 1D 1C 33       BFI             W11, W10, #4, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F150 2B 01 00 39       STRB            W11, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F154 09 4D 40 F9       LDR             X9, [X8,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F158 29 05 00 91       ADD             X9, X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F15C 09 4D 00 F9       STR             X9, [X8,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F160 F2 FF FF 17       B               loc_709EB4F128</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F160</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F164</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F164                   loc_709EB4F164</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F164 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F168 09 49 40 F9       LDR             X9, [X8,#0x90]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F16C 4A 10 80 52       MOV             W10, #0x82</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F170 EA 03 03 39       STRB            W10, [SP,#0x220+var_160]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F174 AA 16 80 52       MOV             W10, #0xB5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F178 EA 07 03 39       STRB            W10, [SP,#0x220+var_15F]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F17C 8B 04 80 52       MOV             W11, #0x24 ; &#39;$&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F180 EB 0B 03 39       STRB            W11, [SP,#0x220+var_15E]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F184 4C 12 80 52       MOV             W12, #0x92</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F188 EC 0F 03 39       STRB            W12, [SP,#0x220+var_15D]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F18C EA 13 03 39       STRB            W10, [SP,#0x220+var_15C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F190 EB 17 03 39       STRB            W11, [SP,#0x220+var_15B]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F194 EA 03 1F 2A       MOV             W10, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F198 EA 1B 03 39       STRB            W10, [SP,#0x220+var_15B+1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F19C ED 03 03 91       ADD             X13, SP, #0x220+var_160</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1A0 0D 45 00 F9       STR             X13, [X8,#0x88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1A4 0D 45 40 F9       LDR             X13, [X8,#0x88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1A8 0D 41 00 F9       STR             X13, [X8,#0x80]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1AC E9 13 00 F9       STR             X9, [SP,#0x220+var_200]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1B0 01 00 00 14       B               loc_709EB4F1B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1B0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1B4                   loc_709EB4F1B4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1B4 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1B8 09 45 40 F9       LDR             X9, [X8,#0x88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1BC 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1C0 8A 01 00 34       CBZ             W10, loc_709EB4F1F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1C4 01 00 00 14       B               loc_709EB4F1C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1C4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1C8                   loc_709EB4F1C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1C8 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1CC 09 45 40 F9       LDR             X9, [X8,#0x88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1D0 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1D4 4B 7D 04 53       LSR             W11, W10, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1D8 4B 1D 1C 33       BFI             W11, W10, #4, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1DC 2B 01 00 39       STRB            W11, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1E0 09 45 40 F9       LDR             X9, [X8,#0x88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1E4 29 05 00 91       ADD             X9, X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1E8 09 45 00 F9       STR             X9, [X8,#0x88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1EC F2 FF FF 17       B               loc_709EB4F1B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1F0                   loc_709EB4F1F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1F0 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1F4 03 41 40 F9       LDR             X3, [X8,#0x80]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1F8 04 05 40 F9       LDR             X4, [X8,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F1FC E0 1B 40 F9       LDR             X0, [SP,#0x220+var_1F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F200 E1 17 40 F9       LDR             X1, [SP,#0x220+var_1F8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F204 E2 13 40 F9       LDR             X2, [SP,#0x220+var_200]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F208 E0 00 00 94       BL              CallVoidMethod_sub_786D1CD588</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F208</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F20C E0 6B 00 F9       STR             X0, [SP,#0x220+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F210 E8 6B 40 F9       LDR             X8, [SP,#0x220+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F214 08 01 00 F1       SUBS            X8, X8, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F218 89 5D 86 52 A9 84+MOV             W9, #0x9C2532EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F218 B3 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F220 AA 61 87 52 4A 30+MOV             W10, #0xB9823B0D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F220 B7 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F228 49 01 89 1A       CSEL            W9, W10, W9, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F22C E9 AF 00 B9       STR             W9, [SP,#0x220+var_174]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F230 E8 0F 00 F9       STR             X8, [SP,#0x220+var_208]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F234 5C 00 00 14       B               loc_709EB4F3A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F234</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F238</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F238                   loc_709EB4F238</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F238 E8 03 1F AA       MOV             X8, XZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F23C E9 53 40 F9       LDR             X9, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F240 28 31 00 F9       STR             X8, [X9,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F244 0A 81 97 52 2A 4C+MOV             W10, #0x5A61BC08</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F244 AB 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F24C EA AF 00 B9       STR             W10, [SP,#0x220+var_174]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F250 55 00 00 14       B               loc_709EB4F3A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F250</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F254</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F254                   loc_709EB4F254 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F254 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F258 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F25C E1 6B 40 F9       LDR             X1, [SP,#0x220+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F260 A3 67 00 94       BL              GetArrayLength_sub_786D1E70EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F260</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F264 E0 BF 00 B9       STR             W0, [SP,#0x220+var_164]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F268 E0 BF 40 B9       LDR             W0, [SP,#0x220+var_164]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F26C 00 04 00 11       ADD             W0, W0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F270 E1 03 00 2A       MOV             W1, W0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F274 20 7C 40 93       SXTW            X0, W1        ; size</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F278 26 44 FE 97       BL              .malloc</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F278</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F27C E0 5B 00 F9       STR             X0, [SP,#0x220+var_170]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F280 E0 5B 40 F9       LDR             X0, [SP,#0x220+var_170] ; void *</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F284 E9 BF 40 B9       LDR             W9, [SP,#0x220+var_164]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F288 29 05 00 11       ADD             W9, W9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F28C E1 03 09 2A       MOV             W1, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F290 22 7C 40 93       SXTW            X2, W1        ; size_t</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F294 E9 03 1F 2A       MOV             W9, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F298 E1 03 09 2A       MOV             W1, W9        ; int</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F29C E9 17 00 B9       STR             W9, [SP,#0x220+var_20C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2A0 B4 44 FE 97       BL              .memset</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2A4 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2A8 02 2D 40 F9       LDR             X2, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2AC E1 6B 40 F9       LDR             X1, [SP,#0x220+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2B0 E3 BF 40 B9       LDR             W3, [SP,#0x220+var_164]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2B4 E4 5B 40 F9       LDR             X4, [SP,#0x220+var_170]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2B8 E0 07 00 F9       STR             X0, [SP,#0x220+var_218]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2BC E0 03 02 AA       MOV             X0, X2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2C0 E2 17 40 B9       LDR             W2, [SP,#0x220+var_20C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2C4 07 68 00 94       BL              GetByteArrayRegion_sub_786D1E72E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2C4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2C8 E9 BF 40 B9       LDR             W9, [SP,#0x220+var_164]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2CC E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2D0 00 21 40 F9       LDR             X0, [X8,#0x40]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2D4 09 00 00 B9       STR             W9, [X0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2D8 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2DC 01 15 40 F9       LDR             X1, [X8,#0x28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2E0 AA 64 00 94       BL              DeleteLocalRef_sub_786D1E6588</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2E4 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2E8 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2EC 01 11 40 F9       LDR             X1, [X8,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2F0 A6 64 00 94       BL              DeleteLocalRef_sub_786D1E6588</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2F4 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2F8 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F2FC 01 0D 40 F9       LDR             X1, [X8,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F300 A2 64 00 94       BL              DeleteLocalRef_sub_786D1E6588</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F300</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F304 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F308 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F30C 01 05 40 F9       LDR             X1, [X8,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F310 9E 64 00 94       BL              DeleteLocalRef_sub_786D1E6588</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F310</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F314 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F318 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F31C 01 01 40 F9       LDR             X1, [X8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F320 9A 64 00 94       BL              DeleteLocalRef_sub_786D1E6588</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F320</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F324 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F328 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F32C E1 8F 40 F9       LDR             X1, [SP,#0x220+var_108]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F330 96 64 00 94       BL              DeleteLocalRef_sub_786D1E6588</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F330</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F334 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F338 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F33C E1 8B 40 F9       LDR             X1, [SP,#0x220+var_113+3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F340 92 64 00 94       BL              DeleteLocalRef_sub_786D1E6588</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F340</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F344 E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F348 00 2D 40 F9       LDR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F34C E1 6B 40 F9       LDR             X1, [SP,#0x220+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F350 8E 64 00 94       BL              DeleteLocalRef_sub_786D1E6588</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F350</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F354 E8 5B 40 F9       LDR             X8, [SP,#0x220+var_170]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F358 E0 53 40 F9       LDR             X0, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F35C 08 30 00 F9       STR             X8, [X0,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F360 09 81 97 52 29 4C+MOV             W9, #0x5A61BC08</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F360 AB 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F368 E9 AF 00 B9       STR             W9, [SP,#0x220+var_174]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F36C 0E 00 00 14       B               loc_709EB4F3A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F370</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F370                   loc_709EB4F370 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F370 E8 03 1F AA       MOV             X8, XZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F374 E9 53 40 F9       LDR             X9, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F378 28 31 00 F9       STR             X8, [X9,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F37C 0A 81 97 52 2A 4C+MOV             W10, #0x5A61BC08</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F37C AB 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F384 EA AF 00 B9       STR             W10, [SP,#0x220+var_174]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F388 07 00 00 14       B               loc_709EB4F3A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F388</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F38C                   loc_709EB4F38C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F38C E8 53 40 F9       LDR             X8, [SP,#0x220+var_180]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F390 00 31 40 F9       LDR             X0, [X8,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F394 FF 43 08 91       ADD             SP, SP, #0x210</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F398 FD 7B 41 A9       LDP             X29, X30, [SP,#0x10+var_s0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F39C FC 07 42 F8       LDR             X28, [SP+0x10+var_10],#0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F3A0 C0 03 5F D6       RET</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB4F3A0</span></span></code></pre></section><p data-source-line="1078" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">如果本地有存放就读取与设备信息一起上报服务器。</p><h5 data-source-line="1079" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">5.2、检测系统环境风险</span></h5><h6 data-source-line="1080" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(119, 119, 119);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">检测多开:</h6><p data-source-line="1081" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">读取maps查找是否有对应的包名特征</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">//特征</span></code><code><span class="code-snippet_outer">com.bly.dkplat</span></code><code><span class="code-snippet_outer">com.lbe.parallel</span></code><code><span class="code-snippet_outer">com.excelliance.dualaid</span></code><code><span class="code-snippet_outer">io.va.exposed</span></code><code><span class="code-snippet_outer">com.lody.virtual</span></code><code><span class="code-snippet_outer">com.qihoo.magic</span></code><code><span class="code-snippet_outer">io.virtualapp</span></code><code><span class="code-snippet_outer">com.deniu.multi</span></code><code><span class="code-snippet_outer">xposed</span></code><code><span class="code-snippet_outer">com.android.fcamera</span></code><code><span class="code-snippet_outer">com.bly.dkplat</span></code><code><span class="code-snippet_outer">com.lbe.parallel</span></code><code><span class="code-snippet_outer">com.excelliance.dualaid</span></code><code><span class="code-snippet_outer">io.va.exposed</span></code><code><span class="code-snippet_outer">com.lody.virtual</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   ; 检测多开</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   check_dkplat_sub_7363EE8F20 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_0= -0x8C4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_1= -0x8C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_2= -0x8BC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_3= -0x8B8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_4= -0x8B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_5= -0x8B0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_6= -0x8A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_7= -0x8A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_8= -0x898</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_9= -0x88C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_10= -0x888</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_11= -0x880</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_87C= -0x87C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_878= -0x878</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_12= -0x870</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_13= -0x868</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_60= -0x60</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_54= -0x54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_50= -0x50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   anonymous_14= -0x42</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_38= -0x38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_30= -0x30</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_28= -0x28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_18= -0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_10= -0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   var_s0=  0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20                   ; __unwind { // 1000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F20 FC 4F BE A9       STP             X28, X19, [SP,#-0x10+var_10]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F24 FD 7B 01 A9       STP             X29, X30, [SP,#0x10+var_s0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F28 FD 43 00 91       ADD             X29, SP, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F2C FF 03 23 D1       SUB             SP, SP, #0x8C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F30 F3 03 00 91       MOV             X19, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F34 A8 01 80 12       MOV             W8, #0xFFFFFFF2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F38 E9 03 40 B2       MOV             X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F3C EA 0B 00 32       MOV             W10, #7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F40 EB 04 80 52       MOV             W11, #0x27 ; &#39;&#39;&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F44 2C 01 80 12       MOV             W12, #0xFFFFFFF6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F48 CD 06 80 52       MOV             W13, #0x36 ; &#39;6&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F4C EE 06 80 52       MOV             W14, #0x37 ; &#39;7&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F50 CF 0A 80 52       MOV             W15, #0x56 ; &#39;V&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F54 30 07 80 12       MOV             W16, #0xFFFFFFC6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F58 D1 0C 80 52       MOV             W17, #0x66 ; &#39;f&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F5C 32 05 80 12       MOV             W18, #0xFFFFFFD6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F60 C3 02 80 52       MOV             W3, #0x16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F64 04 00 80 52       MOV             W4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F68 05 00 80 D2       MOV             X5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F6C E6 03 00 32       MOV             W6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F70 A7 43 01 D1       SUB             X7, X29, #-var_50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F74 A0 83 1D F8       STUR            X0, [X29,#var_28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F78 A1 03 1D F8       STUR            X1, [X29,#var_30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F7C A2 83 1C F8       STUR            X2, [X29,#var_38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F80 E0 03 07 AA       MOV             X0, X7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F84 08 00 00 39       STRB            W8, [X0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F88 01 00 09 8B       ADD             X1, X0, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F8C 0A 04 00 39       STRB            W10, [X0,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F90 20 00 09 8B       ADD             X0, X1, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F94 2B 04 00 39       STRB            W11, [X1,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F98 01 00 09 8B       ADD             X1, X0, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69F9C 0C 04 00 39       STRB            W12, [X0,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FA0 20 00 09 8B       ADD             X0, X1, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FA4 2D 04 00 39       STRB            W13, [X1,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FA8 01 00 09 8B       ADD             X1, X0, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FAC 08 04 00 39       STRB            W8, [X0,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FB0 20 00 09 8B       ADD             X0, X1, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FB4 2E 04 00 39       STRB            W14, [X1,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FB8 01 00 09 8B       ADD             X1, X0, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FBC 0F 04 00 39       STRB            W15, [X0,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FC0 20 00 09 8B       ADD             X0, X1, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FC4 30 04 00 39       STRB            W16, [X1,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FC8 01 00 09 8B       ADD             X1, X0, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FCC 11 04 00 39       STRB            W17, [X0,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FD0 20 00 09 8B       ADD             X0, X1, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FD4 28 04 00 39       STRB            W8, [X1,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FD8 01 00 09 8B       ADD             X1, X0, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FDC 12 04 00 39       STRB            W18, [X0,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FE0 20 00 09 8B       ADD             X0, X1, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FE4 23 04 00 39       STRB            W3, [X1,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FE8 01 00 09 8B       ADD             X1, X0, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FEC 0A 04 00 39       STRB            W10, [X0,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FF0 29 00 09 8B       ADD             X9, X1, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FF4 2E 04 00 39       STRB            W14, [X1,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FF8 24 05 00 39       STRB            W4, [X9,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB69FFC A7 83 1E F8       STUR            X7, [X29,#var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A000 A9 83 5E F8       LDUR            X9, [X29,#var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A004 A9 03 1E F8       STUR            X9, [X29,#var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A008 65 2E 00 F9       STR             X5, [X19,#0x8D0+var_878]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A00C 66 56 00 B9       STR             W6, [X19,#0x8D0+var_87C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A00C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A010</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A010                   loc_709EB6A010  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A010 08 00 80 52       MOV             W8, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A014 A9 83 5E F8       LDUR            X9, [X29,#var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A018 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A01C 4A 1D 00 53       UXTB            W10, W10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A020 EB 1F 00 32       MOV             W11, #0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A024 08 01 0B 0A       AND             W8, W8, W11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A028 5F 01 08 6B       CMP             W10, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A02C E8 07 9F 1A       CSET            W8, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A030 48 00 00 37       TBNZ            W8, #0, loc_709EB6A038</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A030</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A034 16 00 00 14       B               loc_709EB6A08C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A034</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A038</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A038                   loc_709EB6A038  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A038 E8 0F 1C 32       MOV             W8, #0xF0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A03C E9 0F 00 32       MOV             W9, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A040 EA 03 1E 32       MOV             W10, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A044 EB 03 40 B2       MOV             X11, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A048 AC 83 5E F8       LDUR            X12, [X29,#var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A04C 8D 01 40 39       LDRB            W13, [X12]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A050 AD 1D 00 53       UXTB            W13, W13</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A054 AD 29 CA 1A       ASR             W13, W13, W10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A058 A9 01 09 0A       AND             W9, W13, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A05C AC 83 5E F8       LDUR            X12, [X29,#var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A060 8D 01 40 39       LDRB            W13, [X12]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A064 AD 1D 00 53       UXTB            W13, W13</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A068 AA 21 CA 1A       LSL             W10, W13, W10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A06C 48 01 08 0A       AND             W8, W10, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A070 28 01 08 2A       ORR             W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A074 AC 83 5E F8       LDUR            X12, [X29,#var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A078 88 01 00 39       STRB            W8, [X12]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A07C AC 83 5E F8       LDUR            X12, [X29,#var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A080 8B 01 0B 8B       ADD             X11, X12, X11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A084 AB 83 1E F8       STUR            X11, [X29,#var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A088 E2 FF FF 17       B               loc_709EB6A010</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A088</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A08C                   loc_709EB6A08C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A08C 48 19 97 52 A8 CA+MOV             W8, #0x9E55B8CA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A08C B3 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A094 E9 F7 7E B2       MOV             X9, #0xFFFFFFFFFFFFFFFC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A098 EA 03 00 32       MOV             W10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A09C EB 03 75 B2       MOV             X11, #0x800</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0A0 01 00 80 52       MOV             W1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0A4 AC 03 5E F8       LDUR            X12, [X29,#var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0A8 AC 03 1C F8       STUR            X12, [X29,#anonymous_14+2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0AC A0 03 5C F8       LDUR            X0, [X29,#anonymous_14+2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0B0 68 52 00 B9       STR             W8, [X19,#0x50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0B4 69 26 00 F9       STR             X9, [X19,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0B8 6A 46 00 B9       STR             W10, [X19,#0x44]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0BC 6B 1E 00 F9       STR             X11, [X19,#0x38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0C0 11 01 00 94       BL              open_sub_786D1E8504 ; maps</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0C4 A0 C3 1A B8       STUR            W0, [X29,#var_54]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0C8 69 1E 40 F9       LDR             X9, [X19,#0x38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0CC A9 03 1A F8       STUR            X9, [X29,#var_60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0D0 7F 36 00 F9       STR             XZR, [X19,#0x68]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0D4 68 46 40 B9       LDR             W8, [X19,#0x44]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0D8 EB 03 08 2A       MOV             W11, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0DC 6B 7D 40 D3       UBFX            X11, X11, #0, #0x20 ; &#39; &#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0E0 6C 26 40 F9       LDR             X12, [X19,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0E4 6B 7D 0C 9B       MUL             X11, X11, X12</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0E8 ED 03 00 91       MOV             X13, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0EC AB 01 0B 8B       ADD             X11, X13, X11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0F0 6B ED 7C 92       AND             X11, X11, #0xFFFFFFFFFFFFFFF0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0F4 7F 01 00 91       MOV             SP, X11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0F8 6A 52 40 B9       LDR             W10, [X19,#0x50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A0FC 6A 01 00 B9       STR             W10, [X11]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A100 6B 1A 00 F9       STR             X11, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A100</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A104</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A104                   loc_709EB6A104 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A104 48 19 97 52 A8 CA+MOV             W8, #0x9E55B8CA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A104 B3 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A10C 69 1A 40 F9       LDR             X9, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A110 2A 01 40 B9       LDR             W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A114 1F 01 0A 6B       CMP             W8, W10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A118 E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A11C 6A 2E 00 B9       STR             W10, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A120 48 09 00 37       TBNZ            W8, #0, loc_709EB6A248</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A120</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A124 01 00 00 14       B               loc_709EB6A128</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A124</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A128</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A128                   loc_709EB6A128</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A128 E8 03 97 52 C8 4D+MOV             W8, #0x4A6EB81F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A128 A9 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A130 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A134 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A138 E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A13C 48 0B 00 37       TBNZ            W8, #0, loc_709EB6A2A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A13C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A140 01 00 00 14       B               loc_709EB6A144</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A140</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A144</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A144                   loc_709EB6A144  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A144 A8 7E 85 52 28 6F+MOV             W8, #0x63792BF5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A144 AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A14C 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A150 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A154 E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A158 28 0B 00 37       TBNZ            W8, #0, loc_709EB6A2BC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A158</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A15C 01 00 00 14       B               loc_709EB6A160</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A15C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A160</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A160                   loc_709EB6A160  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A160 C8 FB 95 52 E8 2D+MOV             W8, #0xD16FAFDE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A160 BA 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A168 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A16C 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A170 E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A174 E8 0B 00 37       TBNZ            W8, #0, loc_709EB6A2F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A174</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A178 01 00 00 14       B               loc_709EB6A17C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A178</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A17C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A17C                   loc_709EB6A17C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A17C A8 4A 90 52 68 F1+MOV             W8, #0xE78B8255</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A17C BC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A184 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A188 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A18C E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A190 28 0D 00 37       TBNZ            W8, #0, loc_709EB6A334</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A190</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A194 01 00 00 14       B               loc_709EB6A198</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A194</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A198</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A198                   loc_709EB6A198 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A198 C8 CB 8B 52 C8 2E+MOV             W8, #0xD9765E5E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A198 BB 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1A0 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1A4 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1A8 E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1AC E8 0C 00 37       TBNZ            W8, #0, loc_709EB6A348</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1B0 01 00 00 14       B               loc_709EB6A1B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1B0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1B4                   loc_709EB6A1B4  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1B4 A8 AB 9E 52 88 EC+MOV             W8, #0xF64F55D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1B4 A1 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1BC 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1C0 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1C4 E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1C8 28 0F 00 37       TBNZ            W8, #0, loc_709EB6A3AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1CC 01 00 00 14       B               loc_709EB6A1D0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1CC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1D0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1D0                   loc_709EB6A1D0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1D0 88 2D 9E 52 C8 CE+MOV             W8, #0x6676F16C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1D0 AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1D8 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1DC 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1E0 E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1E4 E8 0F 00 37       TBNZ            W8, #0, loc_709EB6A3E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1E8 01 00 00 14       B               loc_709EB6A1EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1E8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1EC                   loc_709EB6A1EC </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1EC C8 C4 81 52 88 04+MOV             W8, #0x90240E26</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1EC B2 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1F4 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1F8 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A1FC E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A200 A8 0F 00 37       TBNZ            W8, #0, loc_709EB6A3F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A200</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A204 01 00 00 14       B               loc_709EB6A208</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A204</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A208</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A208                   loc_709EB6A208   </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A208 48 1F 91 52 48 A8+MOV             W8, #0x8D4288FA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A208 B1 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A210 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A214 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A218 E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A21C C8 0F 00 37       TBNZ            W8, #0, loc_709EB6A414</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A21C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A220 01 00 00 14       B               loc_709EB6A224</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A220</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A224</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A224                   loc_709EB6A224</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A224 A8 ED 81 52 A8 CD+MOV             W8, #0x1E6D0F6D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A224 A3 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A22C 69 2E 40 B9       LDR             W9, [X19,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A230 1F 01 09 6B       CMP             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A234 E8 17 9F 1A       CSET            W8, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A238 88 10 00 37       TBNZ            W8, #0, loc_709EB6A448</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A238</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A23C 01 00 00 14       B               loc_709EB6A240</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A23C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A240</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A240                   loc_709EB6A240 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A240 01 00 00 14       B               loc_709EB6A244</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A240</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A244</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A244                   loc_709EB6A244  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A244 89 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A244</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A248</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A248                   loc_709EB6A248 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A248 68 C2 01 91       ADD             X8, X19, #0x70 ; &#39;p&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A24C E2 2B 40 B2       MOV             X2, #0x7FF    ; nbytes</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A250 A9 ED 81 52 A9 CD+MOV             W9, #0x1E6D0F6D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A250 A3 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A258 EA 03 97 52 CA 4D+MOV             W10, #0x4A6EB81F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A258 A9 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A260 0B 00 80 D2       MOV             X11, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A264 A0 C3 5A B8       LDUR            W0, [X29,#var_54] ; fd</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A268 E1 03 08 AA       MOV             X1, X8        ; buf</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A26C 6B 12 00 F9       STR             X11, [X19,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A270 6A 1E 00 B9       STR             W10, [X19,#0x1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A274 69 1A 00 B9       STR             W9, [X19,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A278 42 D8 FD 97       BL              .read         ; 读maps</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A278</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A27C 68 12 40 F9       LDR             X8, [X19,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A280 1F 00 08 EB       CMP             X0, X8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A284 E9 07 9F 1A       CSET            W9, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A288 3F 01 00 72       TST             W9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A28C 69 1E 40 B9       LDR             W9, [X19,#0x1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A290 6A 1A 40 B9       LDR             W10, [X19,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A294 2C 11 8A 1A       CSEL            W12, W9, W10, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A298 6B 1A 40 F9       LDR             X11, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A29C 6C 01 00 B9       STR             W12, [X11]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2A0 72 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2A4                   loc_709EB6A2A4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2A4 A8 7E 85 52 28 6F+MOV             W8, #0x63792BF5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2A4 AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2AC 7F 32 00 F9       STR             XZR, [X19,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2B0 69 1A 40 F9       LDR             X9, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2B4 28 01 00 B9       STR             W8, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2B8 6C 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2B8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2BC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2BC                   loc_709EB6A2BC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2BC 48 1F 91 52 48 A8+MOV             W8, #0x8D4288FA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2BC B1 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2C4 C9 FB 95 52 E9 2D+MOV             W9, #0xD16FAFDE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2C4 BA 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2CC 6A 32 40 F9       LDR             X10, [X19,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2D0 AB 03 5D F8       LDUR            X11, [X29,#var_30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2D4 5F 01 0B EB       CMP             X10, X11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2D8 EC 27 9F 1A       CSET            W12, CC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2DC 9F 01 00 72       TST             W12, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2E0 28 11 88 1A       CSEL            W8, W9, W8, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2E4 6A 1A 40 F9       LDR             X10, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2E8 48 01 00 B9       STR             W8, [X10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2EC 5F 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2F0                   loc_709EB6A2F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2F0 C8 CB 8B 52 C8 2E+MOV             W8, #0xD9765E5E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2F0 BB 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2F8 A9 4A 90 52 69 F1+MOV             W9, #0xE78B8255</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A2F8 BC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A300 EA 03 00 32       MOV             W10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A304 AB 83 5C F8       LDUR            X11, [X29,#var_38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A308 6C 32 40 F9       LDR             X12, [X19,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A30C 6B 01 0C 8B       ADD             X11, X11, X12</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A310 6D 01 40 39       LDRB            W13, [X11]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A314 AD 1D 00 53       UXTB            W13, W13</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A318 BF 01 0A 6B       CMP             W13, W10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A31C EA 17 9F 1A       CSET            W10, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A320 5F 01 00 72       TST             W10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A324 28 11 88 1A       CSEL            W8, W9, W8, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A328 6B 1A 40 F9       LDR             X11, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A32C 68 01 00 B9       STR             W8, [X11]     ; 字符串解密</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A330 4E 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A330</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A334</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A334                   loc_709EB6A334 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A334 C8 C4 81 52 88 04+MOV             W8, #0x90240E26</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A334 B2 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A33C 69 1A 40 F9       LDR             X9, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A340 28 01 00 B9       STR             W8, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A344 49 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A344</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A348</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A348                   loc_709EB6A348  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A348 68 C2 01 91       ADD             X8, X19, #0x70 ; &#39;p&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A34C E9 03 7D B2       MOV             X9, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A350 8A 2D 9E 52 CA CE+MOV             W10, #0x6676F16C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A350 AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A358 AB AB 9E 52 8B EC+MOV             W11, #0xF64F55D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A358 A1 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A360 AC 83 5D F8       LDUR            X12, [X29,#var_28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A364 6D 32 40 F9       LDR             X13, [X19,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A368 29 7D 0D 9B       MUL             X9, X9, X13</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A36C 89 01 09 8B       ADD             X9, X12, X9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A370 21 01 40 F9       LDR             X1, [X9]      ; needle</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A374 E0 03 08 AA       MOV             X0, X8        ; haystack</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A378 6B 16 00 B9       STR             W11, [X19,#0x14]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A37C 6A 12 00 B9       STR             W10, [X19,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A380 1C D8 FD 97       BL              .strstr       ; 查找多开特征</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A380</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A384 68 2E 40 F9       LDR             X8, [X19,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A388 1F 00 08 EB       CMP             X0, X8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A38C EA 07 9F 1A       CSET            W10, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A390 5F 01 00 72       TST             W10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A394 6A 16 40 B9       LDR             W10, [X19,#0x14]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A398 6B 12 40 B9       LDR             W11, [X19,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A39C 4E 11 8B 1A       CSEL            W14, W10, W11, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3A0 69 1A 40 F9       LDR             X9, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3A4 2E 01 00 B9       STR             W14, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3A8 30 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3A8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3AC                   loc_709EB6A3AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3AC 88 2D 9E 52 C8 CE+MOV             W8, #0x6676F16C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3AC AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3B4 A9 83 5C F8       LDUR            X9, [X29,#var_38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3B8 6A 32 40 F9       LDR             X10, [X19,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3BC 29 01 0A 8B       ADD             X9, X9, X10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3C0 6B 56 40 B9       LDR             W11, [X19,#0x54]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3C4 2B 01 00 39       STRB            W11, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3C8 69 36 40 F9       LDR             X9, [X19,#0x68]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3CC 29 05 00 91       ADD             X9, X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3D0 69 36 00 F9       STR             X9, [X19,#0x68]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3D4 69 1A 40 F9       LDR             X9, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3D8 28 01 00 B9       STR             W8, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3DC 23 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3DC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3E0                   loc_709EB6A3E0 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3E0 C8 C4 81 52 88 04+MOV             W8, #0x90240E26</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3E0 B2 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3E8 69 1A 40 F9       LDR             X9, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3EC 28 01 00 B9       STR             W8, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3F0 1E 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3F4                   loc_709EB6A3F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3F4 A8 7E 85 52 28 6F+MOV             W8, #0x63792BF5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3F4 AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A3FC 69 32 40 F9       LDR             X9, [X19,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A400 29 05 00 91       ADD             X9, X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A404 69 32 00 F9       STR             X9, [X19,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A408 69 1A 40 F9       LDR             X9, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A40C 28 01 00 B9       STR             W8, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A410 16 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A410</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A414</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A414                   loc_709EB6A414</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A414 68 C2 01 91       ADD             X8, X19, #0x70 ; &#39;p&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A418 49 19 97 52 A9 CA+MOV             W9, #0x9E55B8CA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A418 B3 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A420 E2 03 75 B2       MOV             X2, #0x800    ; size_t</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A424 0A 00 80 52       MOV             W10, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A428 E0 03 08 AA       MOV             X0, X8        ; void *</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A42C E1 03 0A 2A       MOV             W1, W10       ; int</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A430 69 0E 00 B9       STR             W9, [X19,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A434 4F D8 FD 97       BL              .memset</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A434</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A438 69 0E 40 B9       LDR             W9, [X19,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A43C 68 1A 40 F9       LDR             X8, [X19,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A440 09 01 00 B9       STR             W9, [X8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A444 09 00 00 14       B               loc_709EB6A468</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A444</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A448</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A448                   loc_709EB6A448 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A448 A0 C3 5A B8       LDUR            W0, [X29,#var_54] ; fd</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A44C 81 D7 FD 97       BL              .close</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A44C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A450 68 36 40 F9       LDR             X8, [X19,#0x68]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A454 E0 03 08 AA       MOV             X0, X8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A458 BF 43 00 D1       SUB             SP, X29, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A45C FD 7B 41 A9       LDP             X29, X30, [SP,#0x10+var_s0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A460 FC 4F C2 A8       LDP             X28, X19, [SP+0x10+var_10],#0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EB6A464 C0 03 5F D6       RET</span></span></code></pre></section><h5 data-source-line="1570" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">5.3、检测xposed</span></h5><p data-source-line="1571" style="box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">反射loadclass检测是否有xposed</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">getSystemClassLoader</span></code><code><span class="code-snippet_outer">loadClass</span></code><code><span class="code-snippet_outer">de/robv/android/xposed/XposedBridge</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C                   laodclass_sub_73683BA72C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C                   var_38= -0x38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C                   var_30= -0x30</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C                   var_28= -0x28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C                   var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C                   var_18= -0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C                   var_10= -0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C                   ; __unwind { // 1000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB72C FF 03 01 D1       SUB             SP, SP, #0x40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB730 FE 1B 00 F9       STR             X30, [SP,#0x40+var_10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB734 E0 17 00 F9       STR             X0, [SP,#0x40+var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB738 E1 13 00 F9       STR             X1, [SP,#0x40+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB73C E2 0F 00 F9       STR             X2, [SP,#0x40+var_28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB740 E3 0B 00 F9       STR             X3, [SP,#0x40+var_30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB744 E4 07 00 F9       STR             X4, [SP,#0x40+var_38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB748 E0 17 40 F9       LDR             X0, [SP,#0x40+var_18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB74C E1 13 40 F9       LDR             X1, [SP,#0x40+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB750 E2 0F 40 F9       LDR             X2, [SP,#0x40+var_28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB754 E3 0B 40 F9       LDR             X3, [SP,#0x40+var_30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB758 E4 07 40 F9       LDR             X4, [SP,#0x40+var_38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB75C 50 59 01 94       BL              calljavamethond_sub_786D1CFC9C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB75C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB760 FE 1B 40 F9       LDR             X30, [SP,#0x40+var_10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB764 FF 03 01 91       ADD             SP, SP, #0x40 ; &#39;@&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAFB768 C0 03 5F D6       RET</span></span></code></pre></section><p><span style="color: rgb(61, 167, 66);"><span style="color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: start;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;display: inline !important;float: none;">查找进程中是否有包含关键字</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">xposedbridge</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">libxposed_art</span><span class="code-snippet__selector-class">.so</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">com</span><span class="code-snippet__selector-class">.saurik</span><span class="code-snippet__selector-class">.substrate</span></span></code></pre></section><h5 data-source-line="1613" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">5.4、检测magisk</h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">特征</span></code><code><span class="code-snippet_outer"> df  | grep /sbin/.magisk</span></code><code><span class="code-snippet_outer"> mount  | grep /sbin/.magisk</span></code><code><span class="code-snippet_outer"> ps | grep magisk</span></code><code><span class="code-snippet_outer">strstr /sbin/.magisk  /sbin/.magisk</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75B4                   check_magisk_sub_786D1755B4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75B4                   var_FC= -0xFC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75B4                   var_8= -8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75B4                   var_s0=  0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75B4                   ; __unwind { // 1000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75B4 FC 0F 1E F8       STR             X28, [SP,#-0x10+var_10]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75B8 FD 7B 01 A9       STP             X29, X30, [SP,#0x10+var_s0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75BC FD 43 00 91       ADD             X29, SP, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75C0 FF C3 05 D1       SUB             SP, SP, #0x170</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75C4 A8 03 03 D1       SUB             X8, X29, #-var_C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75C8 00 45 00 F9       STR             X0, [X8,#0x88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75CC 09 00 80 12       MOV             W9, #0xFFFFFFFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75D0 A9 43 1C B8       STUR            W9, [X29,#var_3C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75D4 E0 03 1F AA       MOV             X0, XZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75D8 00 3D 00 F9       STR             X0, [X8,#0x78]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75DC 00 39 00 F9       STR             X0, [X8,#0x70]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75E0 00 35 00 F9       STR             X0, [X8,#0x68]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75E4 00 31 00 F9       STR             X0, [X8,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75E8 00 2D 00 F9       STR             X0, [X8,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75EC 00 29 00 F9       STR             X0, [X8,#0x50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75F0 00 25 00 F9       STR             X0, [X8,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75F4 A0 03 18 F8       STUR            X0, [X29,#var_80]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75F8 A0 83 17 F8       STUR            X0, [X29,#var_88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF75FC A0 03 17 F8       STUR            X0, [X29,#var_90]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7600 A0 83 16 F8       STUR            X0, [X29,#var_98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7604 A0 03 16 F8       STUR            X0, [X29,#var_A0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7608 A0 83 15 F8       STUR            X0, [X29,#var_A8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF760C A0 03 15 F8       STUR            X0, [X29,#var_B0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7610 A0 83 14 F8       STUR            X0, [X29,#var_B8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7614 A0 03 14 F8       STUR            X0, [X29,#var_C0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7618 02 45 40 F9       LDR             X2, [X8,#0x88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF761C 81 04 00 D0 21 D4+ADRL            X1, td_17041652666579103358 ; &#34; %s  | grep /sbin/.magisk&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF761C 2D 91</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7624 A0 03 03 D1       SUB             X0, X29, #-var_C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7628 A9 23 00 D1       SUB             X9, X29, #-var_8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF762C 20 01 10 F8       STUR            X0, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7630 A9 43 00 D1       SUB             X9, X29, #-var_10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7634 28 01 10 F8       STUR            X8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7638 81 11 00 94       BL              sprintf_sub_786D179C3C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7638</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF763C E9 03 16 32       MOV             W9, #0x400</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7640 A9 C3 13 B8       STUR            W9, [X29,#var_C4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7644 A9 C3 53 B8       LDUR            W9, [X29,#var_C4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7648 E8 03 09 2A       MOV             W8, W9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF764C E1 03 00 91       MOV             X1, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7650 A1 03 13 F8       STUR            X1, [X29,#var_D0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7654 08 3D 00 91       ADD             X8, X8, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7658 08 71 7C 92       AND             X8, X8, #0x1FFFFFFF0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF765C E1 03 00 91       MOV             X1, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7660 28 00 08 EB       SUBS            X8, X1, X8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7664 1F 01 00 91       MOV             SP, X8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7668 E1 03 08 AA       MOV             X1, X8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF766C A2 C3 93 B8       LDURSW          X2, [X29,#var_C4] ; size_t</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7670 E9 03 1F 2A       MOV             W9, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7674 AA 53 00 D1       SUB             X10, X29, #-var_14</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7678 40 01 10 B8       STUR            W0, [X10,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF767C E0 03 08 AA       MOV             X0, X8        ; void *</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7680 A8 83 00 D1       SUB             X8, X29, #-var_20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7684 01 01 10 F8       STUR            X1, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7688 E1 03 09 2A       MOV             W1, W9        ; int</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF768C B9 A3 FF 97       BL              .memset</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF768C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7690 C1 04 00 90 21 78+ADRL            X1, td_9163600524673654173 ; modes</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7690 27 91</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7698 A8 23 00 D1       SUB             X8, X29, #-var_8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF769C 08 01 50 F8       LDUR            X8, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76A0 A9 A3 00 D1       SUB             X9, X29, #-var_28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76A4 20 01 10 F8       STUR            X0, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76A8 E0 03 08 AA       MOV             X0, X8        ; command</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76AC 89 A3 FF 97       BL              .popen        ; 执行命令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76B0 A8 43 00 D1       SUB             X8, X29, #-var_10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76B4 08 01 50 F8       LDUR            X8, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76B8 00 4D 00 F9       STR             X0, [X8,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76BC 00 4D 40 F9       LDR             X0, [X8,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76C0 A0 83 12 F8       STUR            X0, [X29,#var_D8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76C4 89 2C 97 52 69 B0+MOV             W9, #0xED83B964</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76C4 BD 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76CC A9 43 10 B8       STUR            W9, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76D0 01 00 00 14       B               loc_709EAF76D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76D0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76D4                   loc_709EAF76D4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76D4 A8 43 50 B8       LDUR            W8, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76D8 E9 03 08 2A       MOV             W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76DC AA 73 83 52 2A E7+MOV             W10, #0x87391B9D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76DC B0 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76E4 08 01 0A 6B       SUBS            W8, W8, W10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76E8 AA B3 00 D1       SUB             X10, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76EC 49 01 10 B8       STUR            W9, [X10,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76F0 A9 C3 00 D1       SUB             X9, X29, #-var_30</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76F4 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76F8 80 15 00 54       B.EQ            loc_709EAF79A8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76FC 01 00 00 14       B               loc_709EAF7700</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF76FC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7700</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7700                   loc_709EAF7700   </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7700 48 87 82 52 88 E3+MOV             W8, #0xC71C143A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7700 B8 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7708 A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF770C 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7710 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7714 A9 D3 00 D1       SUB             X9, X29, #-var_34</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7718 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF771C 00 18 00 54       B.EQ            loc_709EAF7A1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF771C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7720 01 00 00 14       B               loc_709EAF7724</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7720</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7724</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7724                   loc_709EAF7724 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7724 08 01 9D 52 68 89+MOV             W8, #0xD44BE808</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7724 BA 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF772C A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7730 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7734 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7738 A9 E3 00 D1       SUB             X9, X29, #-var_38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF773C 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7740 20 1A 00 54       B.EQ            loc_709EAF7A84</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7740</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7744 01 00 00 14       B               loc_709EAF7748</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7744</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7748</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7748                   loc_709EAF7748  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7748 88 2C 97 52 68 B0+MOV             W8, #0xED83B964</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7748 BD 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7750 A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7754 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7758 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF775C A9 F3 00 D1       SUB             X9, X29, #-var_3C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7760 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7764 40 08 00 54       B.EQ            loc_709EAF786C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7764</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7768 01 00 00 14       B               loc_709EAF776C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7768</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF776C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF776C                   loc_709EAF776C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF776C 48 0E 8C 52 88 A1+MOV             W8, #0xFD0C6072</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF776C BF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7774 A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7778 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF777C 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7780 A9 03 01 D1       SUB             X9, X29, #-var_40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7784 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7788 C0 18 00 54       B.EQ            loc_709EAF7AA0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7788</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF778C 01 00 00 14       B               loc_709EAF7790</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF778C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7790</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7790                   loc_709EAF7790 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7790 A8 23 87 52 68 B4+MOV             W8, #0xFDA3391D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7790 BF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7798 A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF779C 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77A0 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77A4 A9 13 01 D1       SUB             X9, X29, #-var_44</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77A8 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77AC E0 14 00 54       B.EQ            loc_709EAF7A48</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77B0 01 00 00 14       B               loc_709EAF77B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77B0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77B4                   loc_709EAF77B4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77B4 E8 15 90 52 A8 8E+MOV             W8, #0x147580AF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77B4 A2 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77BC A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77C0 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77C4 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77C8 A9 23 01 D1       SUB             X9, X29, #-var_48</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77CC 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77D0 80 07 00 54       B.EQ            loc_709EAF78C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77D0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77D4 01 00 00 14       B               loc_709EAF77D8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77D8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77D8                   loc_709EAF77D8  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77D8 28 D8 87 52 88 44+MOV             W8, #0x62243EC1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77D8 AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77E0 A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77E4 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77E8 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77EC A9 33 01 D1       SUB             X9, X29, #-var_4C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77F0 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77F4 80 0F 00 54       B.EQ            loc_709EAF79E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77F8 01 00 00 14       B               loc_709EAF77FC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77FC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77FC                   loc_709EAF77FC </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77FC 48 8D 8B 52 28 E2+MOV             W8, #0x67115C6A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF77FC AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7804 A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7808 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF780C 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7810 A9 43 01 D1       SUB             X9, X29, #-var_50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7814 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7818 00 11 00 54       B.EQ            loc_709EAF7A38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7818</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF781C 01 00 00 14       B               loc_709EAF7820</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF781C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7820</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7820                   loc_709EAF7820 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7820 68 82 99 52 88 24+MOV             W8, #0x7924CC13</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7820 AF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7828 A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF782C 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7830 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7834 A9 53 01 D1       SUB             X9, X29, #-var_54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7838 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF783C 20 03 00 54       B.EQ            loc_709EAF78A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF783C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7840 01 00 00 14       B               loc_709EAF7844</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7840</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7844</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7844                   loc_709EAF7844 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7844 A8 9D 8F 52 A8 94+MOV             W8, #0x7CA57CED</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7844 AF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF784C A9 B3 00 D1       SUB             X9, X29, #-var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7850 29 01 50 B8       LDUR            W9, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7854 28 01 08 6B       SUBS            W8, W9, W8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7858 A9 63 01 D1       SUB             X9, X29, #-var_58</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF785C 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7860 00 13 00 54       B.EQ            loc_709EAF7AC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7860</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7864 01 00 00 14       B               loc_709EAF7868</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7864</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7868</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7868                   loc_709EAF7868 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7868 9D 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7868</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF786C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF786C                   loc_709EAF786C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF786C A8 43 00 D1       SUB             X8, X29, #-var_10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7870 08 01 50 F8       LDUR            X8, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7874 09 4D 40 F9       LDR             X9, [X8,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7878 29 01 00 F1       SUBS            X9, X9, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF787C EA 15 90 52 AA 8E+MOV             W10, #0x147580AF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF787C A2 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7884 6B 82 99 52 8B 24+MOV             W11, #0x7924CC13</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7884 AF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF788C 6A 01 8A 1A       CSEL            W10, W11, W10, EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7890 AA 43 10 B8       STUR            W10, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7894 A8 83 01 D1       SUB             X8, X29, #-var_60</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7898 09 01 10 F8       STUR            X9, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF789C 90 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF789C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78A0                   loc_709EAF78A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78A0 E8 03 1F 2A       MOV             W8, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78A4 A8 43 1D B8       STUR            W8, [X29,#var_2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78A8 E8 03 00 32       MOV             W8, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78AC A8 43 12 B8       STUR            W8, [X29,#var_DC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78B0 A8 9D 8F 52 A8 94+MOV             W8, #0x7CA57CED</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78B0 AF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78B8 A8 43 10 B8       STUR            W8, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78BC 88 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78BC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78C0                   loc_709EAF78C0 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78C0 E8 03 1F 2A       MOV             W8, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78C4 A8 03 12 B8       STUR            W8, [X29,#var_E0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78C8 49 1E 80 52       MOV             W9, #0xF2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78CC A9 83 10 38       STURB           W9, [X29,#var_F8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78D0 EA 06 80 52       MOV             W10, #0x37 ; &#39;7&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78D4 AA 93 10 38       STURB           W10, [X29,#var_F7]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78D8 CB 04 80 52       MOV             W11, #0x26 ; &#39;&amp;&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78DC AB A3 10 38       STURB           W11, [X29,#var_F6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78E0 CB 12 80 52       MOV             W11, #0x96</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78E4 AB B3 10 38       STURB           W11, [X29,#var_F5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78E8 CC 1C 80 52       MOV             W12, #0xE6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78EC AC C3 10 38       STURB           W12, [X29,#var_F4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78F0 A9 D3 10 38       STURB           W9, [X29,#var_F3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78F4 49 1C 80 52       MOV             W9, #0xE2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78F8 A9 E3 10 38       STURB           W9, [X29,#var_F2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF78FC C9 1A 80 52       MOV             W9, #0xD6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7900 A9 F3 10 38       STURB           W9, [X29,#var_F1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7904 C9 02 80 52       MOV             W9, #0x16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7908 A9 03 11 38       STURB           W9, [X29,#var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF790C C9 0E 80 52       MOV             W9, #0x76 ; &#39;v&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7910 A9 13 11 38       STURB           W9, [X29,#var_EF]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7914 AB 23 11 38       STURB           W11, [X29,#var_EE]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7918 AA 33 11 38       STURB           W10, [X29,#var_ED]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF791C C9 16 80 52       MOV             W9, #0xB6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7920 A9 43 11 38       STURB           W9, [X29,#var_EC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7924 A8 53 11 38       STURB           W8, [X29,#var_EB]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7928 AD E3 03 D1       SUB             X13, X29, #-var_F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF792C A8 43 00 D1       SUB             X8, X29, #-var_10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7930 0E 01 50 F8       LDUR            X14, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7934 CD 55 00 F9       STR             X13, [X14,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7938 CD 55 40 F9       LDR             X13, [X14,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF793C CD 51 00 F9       STR             X13, [X14,#0xA0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7940 01 00 00 14       B               loc_709EAF7944</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7940</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7944</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7944                   loc_709EAF7944 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7944 A8 43 00 D1       SUB             X8, X29, #-var_10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7948 08 01 50 F8       LDUR            X8, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF794C 09 55 40 F9       LDR             X9, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7950 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7954 AA 01 00 34       CBZ             W10, loc_709EAF7988</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7954</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7958 01 00 00 14       B               loc_709EAF795C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7958</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF795C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF795C                   loc_709EAF795C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF795C A8 43 00 D1       SUB             X8, X29, #-var_10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7960 08 01 50 F8       LDUR            X8, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7964 09 55 40 F9       LDR             X9, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7968 2A 01 40 39       LDRB            W10, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF796C 4B 7D 04 53       LSR             W11, W10, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7970 4B 1D 1C 33       BFI             W11, W10, #4, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7974 2B 01 00 39       STRB            W11, [X9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7978 09 55 40 F9       LDR             X9, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF797C 29 05 00 91       ADD             X9, X9, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7980 09 55 00 F9       STR             X9, [X8,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7984 F0 FF FF 17       B               loc_709EAF7944</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7984</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7988</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7988                   loc_709EAF7988  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7988 A8 43 00 D1       SUB             X8, X29, #-var_10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF798C 08 01 50 F8       LDUR            X8, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7990 09 51 40 F9       LDR             X9, [X8,#0xA0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7994 A9 83 11 F8       STUR            X9, [X29,#var_E8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7998 AA 73 83 52 2A E7+MOV             W10, #0x87391B9D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7998 B0 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79A0 AA 43 10 B8       STUR            W10, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79A4 4E 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79A8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79A8                   loc_709EAF79A8 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79A8 A1 C3 53 B8       LDUR            W1, [X29,#var_C4] ; n</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79AC A2 83 52 F8       LDUR            X2, [X29,#var_D8] ; stream</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79B0 A8 83 00 D1       SUB             X8, X29, #-var_20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79B4 00 01 50 F8       LDUR            X0, [X8,#-0x100] ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79B8 82 A3 FF 97       BL              .fgets</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79B8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79BC 00 00 00 F1       SUBS            X0, X0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79C0 A1 23 87 52 61 B4+MOV             W1, #0xFDA3391D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79C0 BF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79C8 28 D8 87 52 88 44+MOV             W8, #0x62243EC1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79C8 AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79D0 08 11 81 1A       CSEL            W8, W8, W1, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79D4 A8 43 10 B8       STUR            W8, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79D8 A8 A3 01 D1       SUB             X8, X29, #-var_68</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79DC 00 01 10 F8       STUR            X0, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79E0 3F 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79E4                   loc_709EAF79E4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79E4 A1 83 51 F8       LDUR            X1, [X29,#var_E8] ; needle</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79E8 A8 83 00 D1       SUB             X8, X29, #-var_20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79EC 00 01 50 F8       LDUR            X0, [X8,#-0x100] ; haystack</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79F0 80 A2 FF 97       BL              .strstr       ; 查找特征</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79F4 00 00 00 F1       SUBS            X0, X0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79F8 48 8D 8B 52 28 E2+MOV             W8, #0x67115C6A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF79F8 AC 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A00 49 87 82 52 89 E3+MOV             W9, #0xC71C143A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A00 B8 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A08 28 11 88 1A       CSEL            W8, W9, W8, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A0C A8 43 10 B8       STUR            W8, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A10 A8 C3 01 D1       SUB             X8, X29, #-var_70</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A14 00 01 10 F8       STUR            X0, [X8,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A18 31 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A1C                   loc_709EAF7A1C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A1C A8 03 52 B8       LDUR            W8, [X29,#var_E0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A20 08 05 00 11       ADD             W8, W8, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A24 A8 03 12 B8       STUR            W8, [X29,#var_E0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A28 A8 23 87 52 68 B4+MOV             W8, #0xFDA3391D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A28 BF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A30 A8 43 10 B8       STUR            W8, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A34 2A 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A34</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A38                   loc_709EAF7A38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A38 A8 73 83 52 28 E7+MOV             W8, #0x87391B9D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A38 B0 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A40 A8 43 10 B8       STUR            W8, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A44 26 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A44</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A48</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A48                   loc_709EAF7A48</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A48 A0 83 52 F8       LDUR            X0, [X29,#var_D8] ; stream</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A4C F9 A1 FF 97       BL              .pclose</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A4C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A50 A8 03 52 B8       LDUR            W8, [X29,#var_E0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A54 08 01 00 71       SUBS            W8, W8, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A58 49 0E 8C 52 89 A1+MOV             W9, #0xFD0C6072</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A58 BF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A60 0A 01 9D 52 6A 89+MOV             W10, #0xD44BE808</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A60 BA 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A68 49 11 89 1A       CSEL            W9, W10, W9, NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A6C A9 43 10 B8       STUR            W9, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A70 A9 D3 01 D1       SUB             X9, X29, #-var_74</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A74 20 01 10 B8       STUR            W0, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A78 A9 E3 01 D1       SUB             X9, X29, #-var_78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A7C 28 01 10 B8       STUR            W8, [X9,#-0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A80 17 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A84</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A84                   loc_709EAF7A84</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A84 E8 03 00 32       MOV             W8, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A88 A8 43 1D B8       STUR            W8, [X29,#var_2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A8C A8 43 12 B8       STUR            W8, [X29,#var_DC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A90 A8 9D 8F 52 A8 94+MOV             W8, #0x7CA57CED</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A90 AF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A98 A8 43 10 B8       STUR            W8, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A9C 10 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7A9C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AA0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AA0                   loc_709EAF7AA0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AA0 E8 03 1F 2A       MOV             W8, WZR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AA4 A8 43 1D B8       STUR            W8, [X29,#var_2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AA8 E8 03 00 32       MOV             W8, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AAC A8 43 12 B8       STUR            W8, [X29,#var_DC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AB0 A8 9D 8F 52 A8 94+MOV             W8, #0x7CA57CED</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AB0 AF 72</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AB8 A8 43 10 B8       STUR            W8, [X29,#var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7ABC 08 00 00 14       B               loc_709EAF7ADC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7ABC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AC0                   loc_709EAF7AC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AC0 A8 03 53 F8       LDUR            X8, [X29,#var_D0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AC4 1F 01 00 91       MOV             SP, X8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AC8 A0 43 5D B8       LDUR            W0, [X29,#var_2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7ACC BF 43 00 D1       SUB             SP, X29, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AD0 FD 7B 41 A9       LDP             X29, X30, [SP,#0x10+var_s0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AD4 FC 07 42 F8       LDR             X28, [SP+0x10+var_10],#0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:000000709EAF7AD8 C0 03 5F D6       RET</span></span></code></pre></section><h5 data-source-line="2057" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">5.5、检测自动点击</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="powershell"><code><span class="code-snippet_outer">access</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">data</span>/<span class="code-snippet__keyword">data</span>/net.aisence.Touchelper</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">data</span>/<span class="code-snippet__keyword">data</span>/com.cyjh.mobileanjian</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">data</span>/<span class="code-snippet__keyword">data</span>/com.touchsprite.android</span></code><code><span class="code-snippet_outer">cn.testin.itestin</span></code><code><span class="code-snippet_outer">com.tencent.wetest</span></code><code><span class="code-snippet_outer">com.alibaba.mtl.mdp.kguard</span></code><code><span class="code-snippet_outer">com.tencent.wetest.softkeyboard</span></code><code><span class="code-snippet_outer">com.baidu.crowdtest.mobileinfo</span></code></pre></section><h5 data-source-line="2070" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">5.6、检测模拟器</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="perl"><code><span class="code-snippet_outer">access</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/lib/libc_malloc_debug_qemu.so</span></code><code><span class="code-snippet_outer">/sys/qemu_trace</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/bin/qemu-props</span></code><code><span class="code-snippet_outer">/dev/<span class="code-snippet__keyword">socket</span>/qemud</span></code><code><span class="code-snippet_outer">/dev/qemu_pipe</span></code><code><span class="code-snippet_outer">/dev/<span class="code-snippet__keyword">socket</span>/genyd</span></code><code><span class="code-snippet_outer">/dev/<span class="code-snippet__keyword">socket</span>/baseband_genyd</span></code><code><span class="code-snippet_outer">/sys/devices/<span class="code-snippet__keyword">system</span>/cpu/cpu<span class="code-snippet__number">0</span>/cpufreq/scaling_cur_freq</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/bin/androVM-prop</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/bin/microvirt-prop</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/lib/libdroid4x.so</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/bin/windroyed</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/bin/microvirtd</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/bin/nox-props</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/bin/ttVM-prop</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/bin/droid4x-prop</span></code><code><span class="code-snippet_outer">/data/.bluestacks.prop</span></code><code><span class="code-snippet_outer">/data/<span class="code-snippet__keyword">local</span>/tmp/tc/mobileagent</span></code><code><span class="code-snippet_outer">/sdcard/.f22</span></code><code><span class="code-snippet_outer">/sdcard/.f22/PhoneInfo.f22</span></code><code><span class="code-snippet_outer">/sdcard/.f22/wxpic</span></code><code><span class="code-snippet_outer">/dev/vboxuser</span></code><code><span class="code-snippet_outer">/dev/vboxguest</span></code><code><span class="code-snippet_outer">/<span class="code-snippet__keyword">system</span>/bin/genybaseband</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//查找包名</span></code><code><span class="code-snippet_outer">com.ami.duosupdater.ui</span></code><code><span class="code-snippet_outer">com.bluestacks.home</span></code><code><span class="code-snippet_outer">com.bluestacks.windowsfilemanager</span></code><code><span class="code-snippet_outer">com.bluestacks.settings</span></code><code><span class="code-snippet_outer">com.bluestacks.bluestackslocationprovider</span></code><code><span class="code-snippet_outer">com.ami.launchmetro</span></code><code><span class="code-snippet_outer">com.ami.syncduosservices</span></code><code><span class="code-snippet_outer">com.bluestacks.appsettings</span></code><code><span class="code-snippet_outer">com.bluestacks.bstfolder</span></code><code><span class="code-snippet_outer">com.bluestacks.BstCommandProcessor</span></code><code><span class="code-snippet_outer">com.bluestacks.s2p</span></code><code><span class="code-snippet_outer">com.kaopu001.tiantianserver</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">__system_property_get</span></code><code><span class="code-snippet_outer">init.svc.vbox86-setup</span></code><code><span class="code-snippet_outer">init.svc.droid4x</span></code><code><span class="code-snippet_outer">init.svc.su_kpbs_daemon</span></code><code><span class="code-snippet_outer">init.svc.noxd</span></code><code><span class="code-snippet_outer">init.svc.ttVM_x86-setup</span></code><code><span class="code-snippet_outer">init.svc.xxkmsg</span></code><code><span class="code-snippet_outer">init.svc.microvirtd</span></code><code><span class="code-snippet_outer">ro.kernel.android.qemud</span></code><code><span class="code-snippet_outer">androVM.vbox_dpi</span></code><code><span class="code-snippet_outer">androVM.vbox_graph_mode</span></code><code><span class="code-snippet_outer">ro.product.manufacturer</span></code><code><span class="code-snippet_outer">persist.phone.id</span></code><code><span class="code-snippet_outer">persist.hide_1007<span class="code-snippet__number">0</span></span></code><code><span class="code-snippet_outer">persist.hide_xxxx</span></code><code><span class="code-snippet_outer">qemu.sf.fake_camera</span></code><code><span class="code-snippet_outer">qemu.sf.lcd_density</span></code><code><span class="code-snippet_outer">ro.bootloader</span></code><code><span class="code-snippet_outer">init.svc.qemu-props</span></code></pre></section><h5 data-source-line="2134" style="box-sizing: border-box;margin-top: 1em;margin-bottom: 16px;line-height: 1.4;font-size: 1em;font-weight: bold;color: rgb(51, 51, 51);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="color: rgb(61, 167, 66);">5.7、检测云手机</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">access</span></code><code><span class="code-snippet_outer">getPackageInfo <span class="code-snippet__comment">//比较包名</span></span></code><code><span class="code-snippet_outer">com.haimawan.cloudappstore</span></code><code><span class="code-snippet_outer">com.picoo.launcher</span></code><code><span class="code-snippet_outer">com.svox.pico</span></code><code><span class="code-snippet_outer">com.baidu.mtc.ysera</span></code><code><span class="code-snippet_outer">com.baidu.mtc.new_monkey.test</span></code><code><span class="code-snippet_outer">com.baidu.crowdtest.mobileinfo</span></code><code><span class="code-snippet_outer">cn.testin.itestin</span></code></pre></section><h3 data-source-line="3101" style="margin: 24px 0px 16px;padding: 0px;outline: 0px;font-weight: 600;font-size: 1.5em;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-style: initial;text-decoration-color: initial;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 15px;color: rgb(0, 0, 0);"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);"><span style="color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, 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: 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;">样本获取方式，关注公众号，公众号输入框回复“td” 获取下载链接。</span></span></span></h3><h3 data-source-line="3101" style="margin: 24px 0px 16px;padding: 0px;outline: 0px;font-weight: 600;font-size: 1.5em;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-style: initial;text-decoration-color: initial;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 15px;color: rgb(0, 0, 0);"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);">作者简介：</span><br data-filtered="filtered" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;color: rgb(36, 41, 46);font-size: 14px;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);"/><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);">我是小三，目前从事软件安全相关工作，虽己工作多年，但内心依然有着执着的追求，信奉终身成长，不定义自己，热爱技术但不拘泥于技术，爱好分享，喜欢读书和乐于结交朋友，欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)</span></span></h3><p>未完，接下一篇</p>



<p><a href="2247484079">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=70791e2e&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247484079%26idx%3D1%26sn%3Da7603bd5f7ff12992186183a03d30f37%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 17 Jun 2022 11:30:00 +0800</pubDate>
    </item>
    <item>
      <title>爱加密加固产品原理分析_定制版</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247484063&amp;idx=1&amp;sn=4ded5b0e9728d9f66c5a3e85814adbde</link>
      <description>壳整体是指令抽取加方法native化二者结合，所有被抽走的指令还原后dump出来也能分析出80%左右的代码，其它被native化的用JNItrace配合分析，所以用该加固方案客户端代码安全性一般。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2022-04-09 12:30</span> <span style="display: inline-block;"></span>
</p>

<p>壳整体是指令抽取加方法native化二者结合，所有被抽走的指令还原后dump出来也能分析出80%左右的代码，其它被native化的用JNItrace配合分析，所以用该加固方案客户端代码安全性一般。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=a2c64b37&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVIicxXj8FffLn8Q3pMvMb9wgibtDedyGN3vKSHopIXrQfGiaroFDDjzNBNz37Pzs1iaZnibrOG1AQkmaQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">一、背景</span></code><code><span class="code-snippet_outer">二、整体框架</span></code><code><span class="code-snippet_outer">三、SO保护壳分析</span></code><code><span class="code-snippet_outer">四、DEX保护壳分析</span></code><code><span class="code-snippet_outer">五、Native原理分析</span></code><code><span class="code-snippet_outer">六、总结</span></code></pre></section><h3 data-source-line="10" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">一、背景</span></h3><p data-source-line="11" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">最近朋友让我帮忙对他们银行APP进行黑盒分析,检测其安全性，探未知程序漏洞与安全性测试，提升业务整体安全能力，我拿到APP后进行安装抓包后发现都是加密传输的，用JEB进行反编译找数据组合的地方，发现APP用某加固了，所以有了此文。<br style="box-sizing: border-box;"/></p><h3 data-source-line="12" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">二、整体框架</span></h3><p data-source-line="13" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">主要对DEX整体加密、DEX代码分离运行时解密还原，java方法native化，大致框架如下图2-1所示：</p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="2.084375" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=34f83c1c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVIicxXj8FffLn8Q3pMvMb9wOQibhyicVbR6uVMPOVg25QlpXQ2X0joYPNuctkED3CoRicTNHYbEA3ekQ%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图2-1<br/></p><h3 data-source-line="16" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">三、SO保护壳分析</span></h3><h4 data-source-line="17" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">3.1、so层壳流程分析</span></h4><h6 data-source-line="18" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">壳入口点：</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="sql"><code><span class="code-snippet_outer">LOAD:C5FD5960                               EXPORT .init_proc</span></code><code><span class="code-snippet_outer">LOAD:C5FD5960                               .init_proc</span></code><code><span class="code-snippet_outer">LOAD:C5FD5960</span></code><code><span class="code-snippet_outer">LOAD:C5FD5960                               var_4= -4</span></code><code><span class="code-snippet_outer">LOAD:C5FD5960</span></code><code><span class="code-snippet_outer">LOAD:C5FD5960 C0 46                         NOP</span></code><code><span class="code-snippet_outer">LOAD:C5FD5962 FF B5                         PUSH            {R0-R7,LR}</span></code><code><span class="code-snippet_outer">LOAD:C5FD5964 00 A1 18 39                   ADRL            R1, 0xC5FD5950</span></code><code><span class="code-snippet_outer">LOAD:C5FD5968 0D 1C                         MOVS            R5, R1</span></code><code><span class="code-snippet_outer">LOAD:C5FD596A 0C 68                         LDR             R4, [R1]      ; off_C5FD5950</span></code><code><span class="code-snippet_outer">LOAD:C5FD596C 2D 1B                         SUBS            R5, R5, R4</span></code><code><span class="code-snippet_outer">LOAD:C5FD596E 4B 68                         LDR             R3, [R1,#(off_C5FD5954 - 0xC5FD5950)] ; ijiami</span></code><code><span class="code-snippet_outer">LOAD:C5FD5970 5B 19                         ADDS            R3, R3, R5</span></code><code><span class="code-snippet_outer">LOAD:C5FD5972 08 93                         STR             R3, [SP,#0x24+var_4]</span></code><code><span class="code-snippet_outer">LOAD:C5FD5974 C8 68                         LDR             R0, [R1,#(off_C5FD595C - 0xC5FD5950)]</span></code><code><span class="code-snippet_outer">LOAD:C5FD5976 40 19                         ADDS            R0, R0, R5</span></code><code><span class="code-snippet_outer">LOAD:C5FD5976</span></code><code><span class="code-snippet_outer">LOAD:C5FD5978</span></code><code><span class="code-snippet_outer">LOAD:C5FD5978                               loc_C5FD5978                  ; CODE XREF: sub_C5FD59DE+C↓j</span></code><code><span class="code-snippet_outer">LOAD:C5FD5978 8B 68                         LDR             R3, [R1,#(dword_C5FD5958 - 0xC5FD5950)]</span></code><code><span class="code-snippet_outer">LOAD:C5FD597A 5B 19                         ADDS            R3, R3, R5</span></code><code><span class="code-snippet_outer">LOAD:C5FD597C 18 21                         MOVS            R1, #0x18</span></code><code><span class="code-snippet_outer">LOAD:C5FD597E 09 18                         ADDS            R1, R1, R0</span></code><code><span class="code-snippet_outer">LOAD:C5FD5980 08 B4                         PUSH            {R3}</span></code><code><span class="code-snippet_outer">LOAD:C5FD5982 82 B0                         SUB             SP, SP, #8</span></code><code><span class="code-snippet_outer">LOAD:C5FD5984 00 B5                         PUSH            {LR}          ; sub_C5FD6104</span></code><code><span class="code-snippet_outer">LOAD:C5FD5986 4C 68                         LDR             R4, [R1,#(loc_C5F927C4 - 0xC5F927C0)]</span></code><code><span class="code-snippet_outer">LOAD:C5FD5988 0C 31                         ADDS            R1, #0xC</span></code><code><span class="code-snippet_outer">LOAD:C5FD598A 09 19                         ADDS            R1, R1, R4</span></code><code><span class="code-snippet_outer">LOAD:C5FD598C 00 F0 A0 F9                   BL              sub_C5FD5CD0  ; dword_C601B200</span></code><code><span class="code-snippet_outer">LOAD:C5FD598C</span></code><code><span class="code-snippet_outer">LOAD:C5FD5990 03 05                         LSLS            R3, R0, #0x14</span></code><code><span class="code-snippet_outer">LOAD:C5FD5992 1B 0D                         LSRS            R3, R3, #0x14 ; x.35</span></code><code><span class="code-snippet_outer">LOAD:C5FD5994 E4 18                         ADDS            R4, R4, R3</span></code><code><span class="code-snippet_outer">LOAD:C5FD5996 04 34                         ADDS            R4, #4</span></code><code><span class="code-snippet_outer">LOAD:C5FD5998 10 B4                         PUSH            {R4}</span></code><code><span class="code-snippet_outer">LOAD:C5FD599A C0 1A                         SUBS            R0, R0, R3</span></code><code><span class="code-snippet_outer">LOAD:C5FD599C 01 B4                         PUSH            {R0}</span></code><code><span class="code-snippet_outer">LOAD:C5FD599E E4 1A                         SUBS            R4, R4, R3</span></code><code><span class="code-snippet_outer">LOAD:C5FD59A0 C0 18                         ADDS            R0, R0, R3    ; off_C6012420</span></code><code><span class="code-snippet_outer">LOAD:C5FD59A2 9B 08                         LSRS            R3, R3, #2</span></code><code><span class="code-snippet_outer">LOAD:C5FD59A4 08 B4                         PUSH            {R3}          ; y.36</span></code><code><span class="code-snippet_outer">LOAD:C5FD59A6 00 00                         MOVS            R0, R0</span></code><code><span class="code-snippet_outer">LOAD:C5FD59A8 00 F0 19 F8                   BL              sub_C5FD59DE</span></code><code><span class="code-snippet_outer">LOAD:C5FD59A8</span></code><code><span class="code-snippet_outer">LOAD:C5FD59AC 1B 06                         LSLS            R3, R3, #0x18</span></code><code><span class="code-snippet_outer">LOAD:C5FD59AE 89 08                         LSRS            R1, R1, #2</span></code><code><span class="code-snippet_outer">LOAD:C5FD59B0 1B 0E                         LSRS            R3, R3, #0x18</span></code><code><span class="code-snippet_outer">LOAD:C5FD59B2 89 00                         LSLS            R1, R1, #2</span></code><code><span class="code-snippet_outer">LOAD:C5FD59B4 50 2B                         CMP             R3, #0x50 ; &#39;P&#39;</span></code><code><span class="code-snippet_outer">LOAD:C5FD59B6 11 D1                         BNE             locret_C5FD59DC</span></code><code><span class="code-snippet_outer">LOAD:C5FD59B6</span></code><code><span class="code-snippet_outer">LOAD:C5FD59B8 0E E0                         B               loc_C5FD59D8</span></code><code><span class="code-snippet_outer">LOAD:C5FD59B8</span></code><code><span class="code-snippet_outer">LOAD:C5FD59BA</span></code><code><span class="code-snippet_outer">LOAD:C5FD59BA                               loc_C5FD59BA                  ; CODE XREF: .init_proc+7A↓j</span></code><code><span class="code-snippet_outer">LOAD:C5FD59BA 04 39                         SUBS            R1, #4</span></code><code><span class="code-snippet_outer">LOAD:C5FD59BC 42 58                         LDR             R2, [R0,R1]</span></code><code><span class="code-snippet_outer">LOAD:C5FD59BE 13 01                         LSLS            R3, R2, #4</span></code><code><span class="code-snippet_outer">LOAD:C5FD59C0 1B 0F                         LSRS            R3, R3, #0x1C</span></code><code><span class="code-snippet_outer">LOAD:C5FD59C2 0B 2B                         CMP             R3, #0xB</span></code><code><span class="code-snippet_outer">LOAD:C5FD59C4 08 D1                         BNE             loc_C5FD59D8</span></code><code><span class="code-snippet_outer">LOAD:C5FD59C4</span></code><code><span class="code-snippet_outer">LOAD:C5FD59C6 89 08                         LSRS            R1, R1, #2</span></code><code><span class="code-snippet_outer">LOAD:C5FD59C8 53 1A                         SUBS            R3, R2, R1</span></code><code><span class="code-snippet_outer">LOAD:C5FD59CA 89 00                         LSLS            R1, R1, #2</span></code><code><span class="code-snippet_outer">LOAD:C5FD59CC 12 0E                         LSRS            R2, R2, #0x18</span></code><code><span class="code-snippet_outer">LOAD:C5FD59CE 1B 02                         LSLS            R3, R3, #8</span></code><code><span class="code-snippet_outer">LOAD:C5FD59D0 12 06                         LSLS            R2, R2, #0x18</span></code><code><span class="code-snippet_outer">LOAD:C5FD59D2 1B 0A                         LSRS            R3, R3, #8</span></code><code><span class="code-snippet_outer">LOAD:C5FD59D4 1A 43                         ORRS            R2, R3</span></code><code><span class="code-snippet_outer">LOAD:C5FD59D6 42 50                         STR             R2, [R0,R1]</span></code><code><span class="code-snippet_outer">LOAD:C5FD59D6</span></code><code><span class="code-snippet_outer">LOAD:C5FD59D8</span></code><code><span class="code-snippet_outer">LOAD:C5FD59D8                               loc_C5FD59D8                  ; CODE XREF: .init_proc+58↑j</span></code><code><span class="code-snippet_outer">LOAD:C5FD59D8                                                             ; .init_proc+64↑j</span></code><code><span class="code-snippet_outer">LOAD:C5FD59D8 00 29                         CMP             R1, #0</span></code><code><span class="code-snippet_outer">LOAD:C5FD59DA EE D1                         BNE             loc_C5FD59BA</span></code><code><span class="code-snippet_outer">LOAD:C5FD59DA</span></code><code><span class="code-snippet_outer">LOAD:C5FD59DC</span></code><code><span class="code-snippet_outer">LOAD:C5FD59DC                               locret_C5FD59DC               ; CODE XREF: .init_proc+56↑j</span></code><code><span class="code-snippet_outer">LOAD:C5FD59DC 70 47                         BX              LR            ; sub_C5FD6104</span></code></pre></section><p data-source-line="103" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">从壳入口点特征可以大致判断出是UPX，我尝试通过upx -d进行脱壳出现异常，修改特征为upx!还是不能正常脱壳，应该是被变异了，考虑通过IDA进行动态调试脱壳。<br style="box-sizing: border-box;"/></p><h6 data-source-line="104" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">dump so</h6><p data-source-line="105" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">将断点断在linker中调用壳入口的地方，启动调试，如图3-1所示：</p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.47880299251870323" data-s="300,640" style="" data-type="jpeg" data-w="1203" src="https://wechat2rss.xlab.app/img-proxy/?k=b2e563d0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVIicxXj8FffLn8Q3pMvMb9wIBYovMSPuMeyBK2l4cI5JZR1b7cwoYibkQwricljA1452T6vFpibpvAjQ%2F640%3Fwx_fmt%3Djpeg"/></p><p>                        图3-1<br/></p><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">壳执行完成将解压完代码在内存中dump出来，如图3-1-2所示</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5046904315196998" data-s="300,640" style="" data-type="jpeg" data-w="1066" src="https://wechat2rss.xlab.app/img-proxy/?k=834dfdac&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVIicxXj8FffLn8Q3pMvMb9wJdorXtJcz6BjIvC0Dpy8vzadhgTH9s5HZEMGhmPumoK5Fvq8hZIniag%2F640%3Fwx_fmt%3Djpeg"/></p><p>                        图3-1-2<br/></p><h4 data-source-line="111" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">3.2、so层壳脱壳与修复</span></h4><p data-source-line="112" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">修复Elf32_Off、修复shdr、修复phdr、修复重定位，如图3-2所示：</p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.783457249070632" data-s="300,640" style="" data-type="jpeg" data-w="1076" src="https://wechat2rss.xlab.app/img-proxy/?k=baf78ad1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVIicxXj8FffLn8Q3pMvMb9wO9qLm2K0Llbn4m5TvnMcLA4aaFG2ViaCB9dHNbPOoOcbxBPqb1D1j7Q%2F640%3Fwx_fmt%3Djpeg"/></p><p>                        图3-2<br/></p><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">修复后可以正常反编译，代码有ollvm混淆，字符串加密，如图3-2-1所示：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5028625954198473" data-s="300,640" style="" data-type="jpeg" data-w="1048" src="https://wechat2rss.xlab.app/img-proxy/?k=3c88a9fe&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVIicxXj8FffLn8Q3pMvMb9w970tDRjAerzkOvXoVXpvBOtXalCiaQ8KoH2gouGHq5Tp89dibV3AubCA%2F640%3Fwx_fmt%3Djpeg"/></p><p>                        图3-2-1<br/></p><h3 data-source-line="118" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">四、DEX保护壳分析</span></h3><h4 data-source-line="119" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">4.1、Jni_onLoad</span></h4><p data-source-line="120" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Jni_onLoad主要就是动态注册几个Native方法，代码如下：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">jint JNI_OnLoad(JavaVM *vm, void *reserved)</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  _BOOL4 v2; // r2</span></code><code><span class="code-snippet_outer">  int v3; // r4</span></code><code><span class="code-snippet_outer">  int v4; // r3</span></code><code><span class="code-snippet_outer">  int v5; // r3</span></code><code><span class="code-snippet_outer">  int v6; // r2</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  v3 = 0;</span></code><code><span class="code-snippet_outer">  v4 = 0;</span></code><code><span class="code-snippet_outer">  if ( 2 * *y_21_ptr[0] &gt; 191 )</span></code><code><span class="code-snippet_outer">    v3 = 1;</span></code><code><span class="code-snippet_outer">  if ( *y_21_ptr[0] &gt; 9 )</span></code><code><span class="code-snippet_outer">    v4 = 1;</span></code><code><span class="code-snippet_outer">  v5 = v4 &amp; ((*x_20_ptr[0] - 1) * *x_20_ptr[0]);</span></code><code><span class="code-snippet_outer">  v2 = (*x_20_ptr[0] ^ *y_21_ptr[0]) &lt; 130;</span></code><code><span class="code-snippet_outer">  v6 = (v2 &amp; v3 | v5) ^ 1 | v2 &amp; v3 ^ v5;</span></code><code><span class="code-snippet_outer">  while ( v6 != 1 )</span></code><code><span class="code-snippet_outer">    ;</span></code><code><span class="code-snippet_outer">  return RegisterNatives_sub_5252C((int)vm, reserved);</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">int __fastcall RegisterNatives_sub_5252C(JNIEnv *a1)</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  jclass v2; // r8</span></code><code><span class="code-snippet_outer">  int v3; // r5</span></code><code><span class="code-snippet_outer">  int v4; // r3</span></code><code><span class="code-snippet_outer">  void ***v5; // r5</span></code><code><span class="code-snippet_outer">  jclass v6; // r6</span></code><code><span class="code-snippet_outer">  int v7; // r0</span></code><code><span class="code-snippet_outer">  int v8; // r5</span></code><code><span class="code-snippet_outer">  int v9; // r6</span></code><code><span class="code-snippet_outer">  int v10; // r1</span></code><code><span class="code-snippet_outer">  int v11; // r3</span></code><code><span class="code-snippet_outer">  int v12; // r1</span></code><code><span class="code-snippet_outer">  int v13; // r1</span></code><code><span class="code-snippet_outer">  _BOOL4 v14; // r2</span></code><code><span class="code-snippet_outer">  _BOOL4 v15; // r6</span></code><code><span class="code-snippet_outer">  int v16; // r5</span></code><code><span class="code-snippet_outer">  int v17; // r1</span></code><code><span class="code-snippet_outer">  int v18; // r3</span></code><code><span class="code-snippet_outer">  int v19; // r2</span></code><code><span class="code-snippet_outer">  jclass v21; // r8</span></code><code><span class="code-snippet_outer">  __int64 v22; // r0</span></code><code><span class="code-snippet_outer">  int v23; // r6</span></code><code><span class="code-snippet_outer">  __int64 v24; // r2</span></code><code><span class="code-snippet_outer">  int v25; // r1</span></code><code><span class="code-snippet_outer">  int v26; // r0</span></code><code><span class="code-snippet_outer">  int v27; // r6</span></code><code><span class="code-snippet_outer">  int v28; // r3</span></code><code><span class="code-snippet_outer">  int v29; // r6</span></code><code><span class="code-snippet_outer">  int v30; // r6</span></code><code><span class="code-snippet_outer">  int v31; // r3</span></code><code><span class="code-snippet_outer">  int v32; // r2</span></code><code><span class="code-snippet_outer">  int v33; // r0</span></code><code><span class="code-snippet_outer">  int v34; // r0</span></code><code><span class="code-snippet_outer">  int v35; // r0</span></code><code><span class="code-snippet_outer">  const char *funcname; // [sp+4h] [bp-74h] BYREF</span></code><code><span class="code-snippet_outer">  int *v37; // [sp+8h] [bp-70h]</span></code><code><span class="code-snippet_outer">  int (__fastcall *v38)(int, int, int, int); // [sp+Ch] [bp-6Ch]</span></code><code><span class="code-snippet_outer">  void *v39; // [sp+10h] [bp-68h]</span></code><code><span class="code-snippet_outer">  int *v40; // [sp+14h] [bp-64h]</span></code><code><span class="code-snippet_outer">  int (__fastcall *v41)(int, int, int, int); // [sp+18h] [bp-60h]</span></code><code><span class="code-snippet_outer">  int v42; // [sp+1Ch] [bp-5Ch]</span></code><code><span class="code-snippet_outer">  int *v43; // [sp+20h] [bp-58h]</span></code><code><span class="code-snippet_outer">  int (*v44)(); // [sp+24h] [bp-54h]</span></code><code><span class="code-snippet_outer">  int *v45; // [sp+28h] [bp-50h]</span></code><code><span class="code-snippet_outer">  int *v46; // [sp+2Ch] [bp-4Ch]</span></code><code><span class="code-snippet_outer">  int (*v47)(); // [sp+30h] [bp-48h]</span></code><code><span class="code-snippet_outer">  const char *funcname_1; // [sp+34h] [bp-44h]</span></code><code><span class="code-snippet_outer">  int *v49; // [sp+38h] [bp-40h]</span></code><code><span class="code-snippet_outer">  bool (*v50)(); // [sp+3Ch] [bp-3Ch]</span></code><code><span class="code-snippet_outer">  int v51; // [sp+40h] [bp-38h]</span></code><code><span class="code-snippet_outer">  int v52; // [sp+44h] [bp-34h]</span></code><code><span class="code-snippet_outer">  int (*v53)(); // [sp+48h] [bp-30h]</span></code><code><span class="code-snippet_outer">  int v54; // [sp+4Ch] [bp-2Ch]</span></code><code><span class="code-snippet_outer">  int v55; // [sp+50h] [bp-28h]</span></code><code><span class="code-snippet_outer">  int (*v56)(int, int, int, int, int); // [sp+54h] [bp-24h]</span></code><code><span class="code-snippet_outer">  int v57; // [sp+58h] [bp-20h]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  v57 = *(_DWORD *)_stack_chk_guard_ptr;</span></code><code><span class="code-snippet_outer">  if ( !(_BYTE)dword_C532E1E0 )</span></code><code><span class="code-snippet_outer">    sub_C52A6FA8(10);</span></code><code><span class="code-snippet_outer">  sub_C52A75BC(a1);</span></code><code><span class="code-snippet_outer">  sub_C52D37F4(a1);</span></code><code><span class="code-snippet_outer">  v2 = (*a1)-&gt;FindClass(a1, *((_DWORD *)(*off_C5325018)[93] + 1));</span></code><code><span class="code-snippet_outer">  if ( !v2 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v14 = (*y_239_ptr[0] ^ *x_238_ptr[0]) &lt; 234;</span></code><code><span class="code-snippet_outer">    v15 = 8 * *y_239_ptr[0] &gt; 268;</span></code><code><span class="code-snippet_outer">    v16 = v15 ^ v14;</span></code><code><span class="code-snippet_outer">    v17 = 0;</span></code><code><span class="code-snippet_outer">    v18 = 0;</span></code><code><span class="code-snippet_outer">    v19 = !v14 &amp;&amp; !v15;</span></code><code><span class="code-snippet_outer">    if ( *y_239_ptr[0] &lt; 10 )</span></code><code><span class="code-snippet_outer">      v17 = 1;</span></code><code><span class="code-snippet_outer">    if ( !((*x_238_ptr[0] * (*x_238_ptr[0] - 1)) &lt;&lt; 31) )</span></code><code><span class="code-snippet_outer">      v18 = 1;</span></code><code><span class="code-snippet_outer">    while ( !(v17 | v18 | v19 | v16) )</span></code><code><span class="code-snippet_outer">      ;</span></code><code><span class="code-snippet_outer">    return 255;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v3 = 0;</span></code><code><span class="code-snippet_outer">  v4 = 0;</span></code><code><span class="code-snippet_outer">  if ( *y_239_ptr[0] &lt; 137 )</span></code><code><span class="code-snippet_outer">    v3 = 1;</span></code><code><span class="code-snippet_outer">  if ( !(((*x_238_ptr[0] - 1) * *x_238_ptr[0]) &lt;&lt; 31) )</span></code><code><span class="code-snippet_outer">    v4 = 1;</span></code><code><span class="code-snippet_outer">  while ( (v4 | ((*x_238_ptr[0] ^ *y_239_ptr[0]) &gt; 7) | v3) != 1 )</span></code><code><span class="code-snippet_outer">    ;</span></code><code><span class="code-snippet_outer">  v5 = off_C5325018;</span></code><code><span class="code-snippet_outer">  v6 = (*a1)-&gt;FindClass(a1, *(_DWORD *)(*off_C5325018)[93]);</span></code><code><span class="code-snippet_outer">  (*((void (__fastcall **)(JNIEnv *))(*v5)[4] + 25))(a1);</span></code><code><span class="code-snippet_outer">  if ( v6 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    funcname = &#34;l&#34;;</span></code><code><span class="code-snippet_outer">    v38 = l_sub_3EDA8;</span></code><code><span class="code-snippet_outer">    v39 = &amp;unk_C531D5EA;</span></code><code><span class="code-snippet_outer">    v41 = r_sub_40E14;</span></code><code><span class="code-snippet_outer">    v42 = (int)&amp;dword_C532A248 + 1;</span></code><code><span class="code-snippet_outer">    v37 = &amp;dword_C532A1F0;</span></code><code><span class="code-snippet_outer">    v40 = &amp;dword_C532A1F0;</span></code><code><span class="code-snippet_outer">    v43 = &amp;dword_C532A1F0;</span></code><code><span class="code-snippet_outer">    v44 = ra_sub_41368;</span></code><code><span class="code-snippet_outer">    v45 = &amp;dword_C532A24C;</span></code><code><span class="code-snippet_outer">    v46 = &amp;dword_C532A250;</span></code><code><span class="code-snippet_outer">    v47 = b2b_sub_416B4;</span></code><code><span class="code-snippet_outer">    funcname_1 = &#34;m&#34;;</span></code><code><span class="code-snippet_outer">    v49 = &amp;dword_C532A258;</span></code><code><span class="code-snippet_outer">    v50 = m_sub_41700;</span></code><code><span class="code-snippet_outer">    v51 = (int)&amp;dword_C532A26C + 3;</span></code><code><span class="code-snippet_outer">    v52 = (int)&amp;dword_C532A270 + 2;</span></code><code><span class="code-snippet_outer">    v53 = sa_nullsub_1;</span></code><code><span class="code-snippet_outer">    v54 = (int)&amp;dword_C532A298 + 2;</span></code><code><span class="code-snippet_outer">    v55 = (int)&amp;dword_C532A29C + 1;</span></code><code><span class="code-snippet_outer">    v56 = al_sub_41750;</span></code><code><span class="code-snippet_outer">    v7 = (*a1)-&gt;RegisterNatives(a1, v2, (const JNINativeMethod *)&amp;funcname, 7);</span></code><code><span class="code-snippet_outer">    v8 = 0;</span></code><code><span class="code-snippet_outer">    v9 = 0;</span></code><code><span class="code-snippet_outer">    v10 = *x_238_ptr[0];</span></code><code><span class="code-snippet_outer">    if ( *y_239_ptr[0] &lt; 21 )</span></code><code><span class="code-snippet_outer">      v8 = 1;</span></code><code><span class="code-snippet_outer">    v11 = (*x_238_ptr[0] - 1) * v10;</span></code><code><span class="code-snippet_outer">    v12 = ((v10 ^ *y_239_ptr[0]) &gt; 80) | v8;</span></code><code><span class="code-snippet_outer">    if ( !(v11 &lt;&lt; 31) )</span></code><code><span class="code-snippet_outer">      v9 = 1;</span></code><code><span class="code-snippet_outer">    v13 = v12 | v9;</span></code><code><span class="code-snippet_outer">    while ( v13 != 1 )</span></code><code><span class="code-snippet_outer">      ;</span></code><code><span class="code-snippet_outer">    if ( v7 &lt;= -1 )</span></code><code><span class="code-snippet_outer">      return 255;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  else</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    funcname = &#34;l&#34;;</span></code><code><span class="code-snippet_outer">    v38 = l_sub_3EDA8;</span></code><code><span class="code-snippet_outer">    v39 = &amp;unk_C531D5EA;</span></code><code><span class="code-snippet_outer">    v41 = r_sub_40E14;</span></code><code><span class="code-snippet_outer">    v42 = (int)&amp;dword_C532A248 + 1;</span></code><code><span class="code-snippet_outer">    v37 = &amp;dword_C532A1F0;</span></code><code><span class="code-snippet_outer">    v40 = &amp;dword_C532A1F0;</span></code><code><span class="code-snippet_outer">    v43 = &amp;dword_C532A1F0;</span></code><code><span class="code-snippet_outer">    v44 = ra_sub_41368;</span></code><code><span class="code-snippet_outer">    v45 = &amp;dword_C532A24C;</span></code><code><span class="code-snippet_outer">    v46 = &amp;dword_C532A250;</span></code><code><span class="code-snippet_outer">    v47 = b2b_sub_416B4;</span></code><code><span class="code-snippet_outer">    funcname_1 = &#34;m&#34;;</span></code><code><span class="code-snippet_outer">    v49 = &amp;dword_C532A258;</span></code><code><span class="code-snippet_outer">    v50 = m_sub_41700;</span></code><code><span class="code-snippet_outer">    v51 = (int)&amp;dword_C532A26C + 3;</span></code><code><span class="code-snippet_outer">    v52 = (int)&amp;dword_C532A270 + 2;</span></code><code><span class="code-snippet_outer">    v53 = sa_nullsub_1;</span></code><code><span class="code-snippet_outer">    if ( (*a1)-&gt;RegisterNatives(a1, v2, (const JNINativeMethod *)&amp;funcname, 6) &lt; 0 )</span></code><code><span class="code-snippet_outer">      return 255;</span></code><code><span class="code-snippet_outer">    while ( (*x_238_ptr[0] ^ *y_239_ptr[0]) &lt;= 31</span></code><code><span class="code-snippet_outer">         &amp;&amp; 2 * *y_239_ptr[0] &gt;= 286</span></code><code><span class="code-snippet_outer">         &amp;&amp; *y_239_ptr[0] &gt;= 10</span></code><code><span class="code-snippet_outer">         &amp;&amp; ((*x_238_ptr[0] - 1) * *x_238_ptr[0]) &lt;&lt; 31 != 0 )</span></code><code><span class="code-snippet_outer">      ;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v21 = (*a1)-&gt;FindClass(a1, (char *)&amp;aRr9Pm + 2);</span></code><code><span class="code-snippet_outer">  HIDWORD(v22) = *y_239_ptr[0];</span></code><code><span class="code-snippet_outer">  LODWORD(v22) = 0;</span></code><code><span class="code-snippet_outer">  v23 = (int)*off_C5325018;</span></code><code><span class="code-snippet_outer">  if ( *y_239_ptr[0] &gt; 9 )</span></code><code><span class="code-snippet_outer">    LODWORD(v22) = 1;</span></code><code><span class="code-snippet_outer">  if ( 16 * HIDWORD(v22) &gt; 354 &amp;&amp; (HIDWORD(v22) ^ *x_238_ptr[0]) &lt;= 19 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    HIDWORD(v22) = (((unsigned __int8)*x_238_ptr[0] - 1) * (unsigned __int8)*x_238_ptr[0]) &amp; 1;</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)v22 == HIDWORD(v22) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v22 )</span></code><code><span class="code-snippet_outer">        goto LABEL_39;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  while ( 1 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    (*(void (__fastcall **)(JNIEnv *))(*(_DWORD *)(v23 + 0x10) + 100))(a1);</span></code><code><span class="code-snippet_outer">    LODWORD(v24) = 0;</span></code><code><span class="code-snippet_outer">    v25 = *y_239_ptr[0];</span></code><code><span class="code-snippet_outer">    v26 = *x_238_ptr[0];</span></code><code><span class="code-snippet_outer">    if ( *y_239_ptr[0] &gt; 9 )</span></code><code><span class="code-snippet_outer">      LODWORD(v24) = 1;</span></code><code><span class="code-snippet_outer">    if ( 16 * v25 &lt; 121 )</span></code><code><span class="code-snippet_outer">      break;</span></code><code><span class="code-snippet_outer">    if ( (v25 ^ v26) &gt; 195 )</span></code><code><span class="code-snippet_outer">      break;</span></code><code><span class="code-snippet_outer">    HIDWORD(v24) = (((_BYTE)v26 - 1) * (_BYTE)v26) &amp; 1;</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)v24 != HIDWORD(v24) || !v24 )</span></code><code><span class="code-snippet_outer">      break;</span></code><code><span class="code-snippet_outer">LABEL_39:</span></code><code><span class="code-snippet_outer">    (*(void (__fastcall **)(JNIEnv *))(*(_DWORD *)(v23 + 0x10) + 100))(a1);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( !v21 )</span></code><code><span class="code-snippet_outer">    goto LABEL_47;</span></code><code><span class="code-snippet_outer">  funcname = (char *)&amp;dword_C532A21C + 3;</span></code><code><span class="code-snippet_outer">  v37 = (int *)((char *)&amp;dword_C532A220 + 2);</span></code><code><span class="code-snippet_outer">  v38 = (int (__fastcall *)(int, int, int, int))off_C5325374;</span></code><code><span class="code-snippet_outer">  if ( (*a1)-&gt;RegisterNatives(a1, v21, (const JNINativeMethod *)&amp;funcname, 1) &lt; 0 )</span></code><code><span class="code-snippet_outer">    return 255;</span></code><code><span class="code-snippet_outer">  v27 = 0;</span></code><code><span class="code-snippet_outer">  v28 = 0;</span></code><code><span class="code-snippet_outer">  v26 = *x_238_ptr[0];</span></code><code><span class="code-snippet_outer">  v25 = *y_239_ptr[0];</span></code><code><span class="code-snippet_outer">  if ( *y_239_ptr[0] &lt; 366 )</span></code><code><span class="code-snippet_outer">    v27 = 1;</span></code><code><span class="code-snippet_outer">  v29 = v27 | ((*y_239_ptr[0] ^ *x_238_ptr[0]) &gt; 185);</span></code><code><span class="code-snippet_outer">  if ( !((*x_238_ptr[0] * (*x_238_ptr[0] - 1)) &lt;&lt; 31) )</span></code><code><span class="code-snippet_outer">    v28 = 1;</span></code><code><span class="code-snippet_outer">  while ( (v28 | v29) != 1 )</span></code><code><span class="code-snippet_outer">    ;</span></code><code><span class="code-snippet_outer">LABEL_47:</span></code><code><span class="code-snippet_outer">  v30 = 0;</span></code><code><span class="code-snippet_outer">  v31 = 0;</span></code><code><span class="code-snippet_outer">  v32 = v26 * (v26 - 1);</span></code><code><span class="code-snippet_outer">  v33 = v26 ^ v25;</span></code><code><span class="code-snippet_outer">  if ( v25 &lt;= 294 )</span></code><code><span class="code-snippet_outer">    v30 = 1;</span></code><code><span class="code-snippet_outer">  v34 = (v33 &gt; 137) | v30;</span></code><code><span class="code-snippet_outer">  if ( !(v32 &lt;&lt; 31) )</span></code><code><span class="code-snippet_outer">    v31 = 1;</span></code><code><span class="code-snippet_outer">  v35 = v34 | v31;</span></code><code><span class="code-snippet_outer">  while ( !v35 )</span></code><code><span class="code-snippet_outer">    ;</span></code><code><span class="code-snippet_outer">  return 1;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">注册的native方法：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">l(Landroid/app/Application;Ljava/lang/String;)Z</span></code><code><span class="code-snippet_outer">r(Landroid/app/Application;Ljava/lang/String;)Z</span></code><code><span class="code-snippet_outer">ra(Landroid/app/Application;Ljava/lang/String;)Z</span></code><code><span class="code-snippet_outer">b2b([BI)[B</span></code><code><span class="code-snippet_outer">m(Ljava/lang/String;I)V</span></code><code><span class="code-snippet_outer">sa(Ljava/lang/String;Ljava/lang/String;)V</span></code><code><span class="code-snippet_outer">al(Ljava/lang/ClassLoader;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/ClassLoader;</span></code></pre></section><h4 data-source-line="380" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">4.2、java层到native层</span></h4><p data-source-line="381" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">在壳的java层重写了android.app.AppComponentFactory类的几个关键方法，其中instantiateClassLoader是比较核心的，它最终会走到Native方法al中。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="kotlin"><code><span class="code-snippet_outer">  @Override  // android.app.AppComponentFactory</span></code><code><span class="code-snippet_outer">    @TargetApi(29)</span></code><code><span class="code-snippet_outer">    public ClassLoader instantiateClassLoader(ClassLoader arg4, ApplicationInfo arg5) {</span></code><code><span class="code-snippet_outer">        if(!this.supportInstantiateClassLoader) {</span></code><code><span class="code-snippet_outer">            File v1 = new File(arg5.dataDir, &#34;files&#34;);</span></code><code><span class="code-snippet_outer">            if(!v1.exists()) {</span></code><code><span class="code-snippet_outer">                v1.mkdirs();</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            S.p_solutePath = v1.getAbsolutePath();</span></code><code><span class="code-snippet_outer">            S.f_PackageCodePath = arg5.sourceDir;</span></code><code><span class="code-snippet_outer">            S.l(null);</span></code><code><span class="code-snippet_outer">            arg4 = N.al(arg4, arg5, this.packageName, this.orignAppName);  // 调用native方法</span></code><code><span class="code-snippet_outer">            arg5.className = this.orignAppName;</span></code><code><span class="code-snippet_outer">            this.supportInstantiateClassLoader = true;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        if(S.l) {</span></code><code><span class="code-snippet_outer">            this.acf = this.getACF(arg4);</span></code><code><span class="code-snippet_outer">            return this.acf == null ? super.instantiateClassLoader(arg4, arg5) : this.acf.instantiateClassLoader(arg4, arg5);</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        return super.instantiateClassLoader(arg4, arg5);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code></pre></section><h4 data-source-line="409" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">4.3、反调试</span></h4><h6 data-source-line="410" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">反射调用isDebuggerConnected</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060                               isDebuggerConnected_sub_C608A060</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060                                                             ; CODE XREF: l_sub_3EDA8+33C↓p</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060                                                             ; al_sub_41750+324↓p</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060                                                             ; DATA XREF: l_sub_3EDA8+33A↓o</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060                                                             ; al_sub_41750+322↓o</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060                                                             ; .data:C5328140↓o</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060                               var_18= -0x18</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060                               var_C= -0xC</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8060 80 B5                         PUSH            {R7,LR}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8062 6F 46                         MOV             R7, SP</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8064 84 B0                         SUB             SP, SP, #0x10</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8066 28 48                         LDR             R0, =(__stack_chk_guard_ptr - 0xC52C806E)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8068 28 49                         LDR             R1, =(off_C5325018 - 0xC52C8072)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C806A 78 44                         ADD             R0, PC        ; __stack_chk_guard_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C806C 28 4A                         LDR             R2, =(aAndroidOsDebug - 0xC52C8078) ; &#34;+\x1C\x10I\x1A1\fx3 o\x1B(&amp;/(J&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C806E 79 44                         ADD             R1, PC        ; off_C5325018</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8070 28 4B                         LDR             R3, =(byte_C5328846 - 0xC52C807C)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8072 00 68                         LDR             R0, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8074 7A 44                         ADD             R2, PC        ; &#34;+\x1C\x10I\x1A1\fx3 o\x1B(&amp;/(J&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8076 09 68                         LDR             R1, [R1]      ; off_C5326004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8078 7B 44                         ADD             R3, PC        ; byte_C5328846</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C807A 00 68                         LDR             R0, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C807C 03 90                         STR             R0, [SP,#0x18+var_C]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C807E 09 68                         LDR             R1, [R1]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8080 88 68                         LDR             R0, [R1,#(off_C532DDC8 - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8082 09 69                         LDR             R1, [R1,#(off_C532DDD0 - 0xC532DDC0)] ; off_C53266C4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8084 D1 F8 38 C0                   LDR.W           R12, [R1,#0x38] ; CallStaticBooleanMethodV_isDebuggerConnected_sub_C609F484</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8088 23 49                         LDR             R1, =(aIsdebuggerconn - 0xC52C808E) ; &#34;#\x010^\x17-\x0F09!\x030#*?,&gt;\x17\x10;&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C808A 79 44                         ADD             R1, PC        ; &#34;#\x010^\x17-\x0F09!\x030#*?,&gt;\x17\x10;&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C808C 00 91                         STR             R1, [SP,#0x18+var_18]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C808E 79 1F                         SUBS            R1, R7, #5    ; isDebuggerConnected</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8090 E0 47                         BLX             R12           ; CallStaticBooleanMethodV</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8090</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8092 20 B1                         CBZ             R0, loc_C52C809E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8092</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8094 17 F8 05 0C                   LDRB.W          R0, [R7,#-5]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8098 08 B1                         CBZ             R0, loc_C52C809E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C8098</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C809A 01 20                         MOVS            R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C809C 28 E0                         B               loc_C52C80F0</span></code></pre></section><p><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-weight: 600;text-align: start;">检测模拟器</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0                               check_qemu_anitdbg_sub_C60B05A0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0                               var_40= -0x40</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0                               var_38= -0x38</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0                               var_2C= -0x2C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0                               var_28= -0x28</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0                               anonymous_0= -0x24</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0                               var_20= -0x20</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A0 F0 B5                         PUSH            {R4-R7,LR}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A2 03 AF                         ADD             R7, SP, #0xC</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A4 2D E9 00 0F                   PUSH.W          {R8-R11}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45A8 89 B0                         SUB             SP, SP, #0x24</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45AA 80 46                         MOV             R8, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45AC DF F8 E8 07                   LDR.W           R0, =(x.196_ptr - 0xC52C45BA)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45B0 DF F8 E8 17                   LDR.W           R1, =(y.197_ptr - 0xC52C45C4)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45B4 00 24                         MOVS            R4, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45B6 78 44                         ADD             R0, PC        ; x.196_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45B8 DF F8 E4 27                   LDR.W           R2, =(__stack_chk_guard_ptr - 0xC52C45C8)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45BC DF F8 E4 37                   LDR.W           R3, =(off_C5325018 - 0xC52C45CA)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45C0 79 44                         ADD             R1, PC        ; y.197_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45C2 00 68                         LDR             R0, [R0]      ; x.196</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45C4 7A 44                         ADD             R2, PC        ; __stack_chk_guard_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45C6 7B 44                         ADD             R3, PC        ; off_C5325018</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45C8 09 68                         LDR             R1, [R1]      ; y.197</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45CA 12 68                         LDR             R2, [R2]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45CC 00 25                         MOVS            R5, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45CE 06 68                         LDR             R6, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45D0 18 68                         LDR             R0, [R3]      ; off_C5326004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45D2 73 1E                         SUBS            R3, R6, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45D4 09 68                         LDR             R1, [R1]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45D6 73 43                         MULS            R3, R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45D8 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45DA 12 68                         LDR             R2, [R2]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45DC 08 92                         STR             R2, [SP,#0x40+var_20]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45DE 61 29                         CMP             R1, #0x61 ; &#39;a&#39;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45E0 81 EA 06 02                   EOR.W           R2, R1, R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45E4 C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45E6 01 24                         MOVGT           R4, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45E8 62 2A                         CMP             R2, #0x62 ; &#39;b&#39;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45EA 4F F0 00 06                   MOV.W           R6, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45EE B8 BF                         IT LT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45F0 01 26                         MOVLT           R6, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45F2 09 29                         CMP             R1, #9</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45F4 C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45F6 01 25                         MOVGT           R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45F8 26 40                         ANDS            R6, R4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45FA 2B 40                         ANDS            R3, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C45FC 86 EA 03 05                   EOR.W           R5, R6, R3</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4600 1E 43                         ORRS            R6, R3</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4602 86 F0 01 06                   EOR.W           R6, R6, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4606 2E 43                         ORRS            R6, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4606</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4608 01 2E                         CMP             R6, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C460A FD D1                         BNE             loc_C52C4608</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C460A</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C460C 90 F8 7C 60                   LDRB.W          R6, [R0,#(dword_C532DE3C - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4610 00 2E                         CMP             R6, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4612 00 F0 BD 80                   BEQ.W           loc_C52C4790</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4612</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4616 88 00                         LSLS            R0, R1, #2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4618 16 28                         CMP             R0, #0x16</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C461A 4F F0 00 00                   MOV.W           R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C461E 4F F0 00 01                   MOV.W           R1, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4622 C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4624 01 20                         MOVGT           R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4626 EA 2A                         CMP             R2, #0xEA</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4628 B8 BF                         IT LT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C462A 01 21                         MOVLT           R1, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C462C 08 40                         ANDS            R0, R1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C462E 98 42                         CMP             R0, R3</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4630 02 D1                         BNE             loc_C52C4638</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4630</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4632 18 43                         ORRS            R0, R3</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4634 40 F0 E0 80                   BNE.W           loc_C52C47F8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4634</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4638</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4638                               loc_C52C4638 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4638 DF F8 6C 17                   LDR.W           R1, =(aDevQemuPipe - 0xC52C4646) ; &#34;e\x16\x11MZ)\r:)\f06=!Z&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C463C 00 24                         MOVS            R4, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C463E DF F8 6C 07                   LDR.W           R0, =(aDevSocketQemud - 0xC52C4648) ; &#34;e\x16\x11MZ+\a4764p&lt;!7:.r&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4642 79 44                         ADD             R1, PC        ; &#34;e\x16\x11MZ)\r:)\f06=!Z&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4644 78 44                         ADD             R0, PC        ; &#34;e\x16\x11MZ+\a4764p&lt;!7:.r&#34; ; name</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4646 CD E9 06 01                   STRD.W          R0, R1, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C464A 00 21                         MOVS            R1, #0        ; type</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C464C E1 F7 3A E9                   BLX             access        ; /dev/socket/qemud</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C464C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4650 01 30                         ADDS            R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4652 00 F0 E6 80                   BEQ.W           loc_C52C4822</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4652</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4656</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4656                               loc_C52C4656  </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4656 4F F0 01 0C                   MOV.W           R12, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4656</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C465A</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C465A                               loc_C52C465A </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C465A DF F8 54 07                   LDR.W           R0, =(x.196_ptr - 0xC52C4668)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C465E 00 25                         MOVS            R5, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4660 DF F8 50 17                   LDR.W           R1, =(y.197_ptr - 0xC52C466A)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4664 78 44                         ADD             R0, PC        ; x.196_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4666 79 44                         ADD             R1, PC        ; y.197_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4668 00 68                         LDR             R0, [R0]      ; x.196</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C466A 09 68                         LDR             R1, [R1]      ; y.197</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C466C 00 68                         LDR             R0, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C466E 09 68                         LDR             R1, [R1]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4670 42 1E                         SUBS            R2, R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4672 81 EA 00 03                   EOR.W           R3, R1, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4676 42 43                         MULS            R2, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4678 13 2B                         CMP             R3, #0x13</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C467A 4F F0 00 00                   MOV.W           R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C467E 4F EA 01 16                   MOV.W           R6, R1,LSL#4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4682 C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4684 01 20                         MOVGT           R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4686 B6 F5 B2 7F                   CMP.W           R6, #0x164</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C468A 4F F0 00 06                   MOV.W           R6, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C468E D8 BF                         IT LE</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4690 01 26                         MOVLE           R6, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4692 0A 29                         CMP             R1, #0xA</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4694 46 EA 00 06                   ORR.W           R6, R6, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4698 B8 BF                         IT LT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C469A 01 25                         MOVLT           R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C469C 12 F0 01 02                   ANDS.W          R2, R2, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46A0 4F F0 00 00                   MOV.W           R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46A4 08 BF                         IT EQ</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46A6 01 20                         MOVEQ           R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46A8 09 29                         CMP             R1, #9</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46AA C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46AC 01 24                         MOVGT           R4, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46AE 14 40                         ANDS            R4, R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46B0 94 EA 06 0F                   TEQ.W           R4, R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46B4 1E BF                         ITTT NE</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46B6 28 43                         ORRNE           R0, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46B8 30 40                         ANDNE           R0, R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46BA 01 28                         CMPNE           R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46BC 40 F0 9C 80                   BNE.W           loc_C52C47F8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46BC</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46C0 E4 2B                         CMP             R3, #0xE4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46C2 4F F0 00 03                   MOV.W           R3, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46C6 4F EA 41 06                   MOV.W           R6, R1,LSL#1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46CA C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46CC 01 23                         MOVGT           R3, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46CE 86 2E                         CMP             R6, #0x86</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46D0 4F F0 00 06                   MOV.W           R6, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46D4 B8 BF                         IT LT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46D6 01 26                         MOVLT           R6, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46D8 00 20                         MOVS            R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46DA 09 29                         CMP             R1, #9</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46DC C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46DE 01 20                         MOVGT           R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46E0 00 2A                         CMP             R2, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46E2 18 BF                         IT NE</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46E4 01 22                         MOVNE           R2, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46E6 80 EA 02 01                   EOR.W           R1, R0, R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46EA 10 43                         ORRS            R0, R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46EC 80 F0 01 00                   EOR.W           R0, R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46F0 33 43                         ORRS            R3, R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46F2 08 43                         ORRS            R0, R1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46F4 18 43                         ORRS            R0, R3</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46F4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46F6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46F6                               loc_C52C46F6 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46F6 01 28                         CMP             R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46F8 FD D1                         BNE             loc_C52C46F6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46F8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46FA BC F1 00 0F                   CMP.W           R12, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46FE 79 D1                         BNE             loc_C52C47F4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C46FE</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4700 DF F8 C0 06                   LDR.W           R0, =(aProcTtyDrivers - 0xC52C470C) ; &#34;e\x02\x06T\x16w\x1C#%|$-$2?=9r&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4704 DF F8 C0 16                   LDR.W           R1, =(aR - 0xC52C4712) ; &#34;r&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4708 78 44                         ADD             R0, PC        ; &#34;e\x02\x06T\x16w\x1C#%|$-$2?=9r&#34; ; filename</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C470A CD F8 14 80                   STR.W           R8, [SP,#0x40+var_2C]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C470E 79 44                         ADD             R1, PC        ; &#34;r&#34; ; modes</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4710 E1 F7 BA E8                   BLX             fopen         ; /proc/tty/drivers</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4710</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4714 83 46                         MOV             R11, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4716 BB F1 00 0F                   CMP.W           R11, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C471A 2F D0                         BEQ             loc_C52C477C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C471A</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C471C 42 F2 94 00                   MOVW            R0, #0x2094   ; size</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4720 E1 F7 8E E8                   BLX             malloc</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4720</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4724 06 46                         MOV             R6, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4726 42 F2 14 00                   MOVW            R0, #0x2014</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C472A 06 EB 00 08                   ADD.W           R8, R6, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C472E 42 F2 04 00                   MOVW            R0, #0x2004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4732 06 EB 00 09                   ADD.W           R9, R6, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4736 06 F5 80 54                   ADD.W           R4, R6, #0x1000</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C473A 06 F5 00 5A                   ADD.W           R10, R6, #0x2000</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C473A</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C473E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C473E                               loc_C52C473E                  ; CODE XREF: check_qemu_anitdbg_sub_C60B05A0+1CE↓j</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C473E DF F8 24 17                   LDR.W           R1, =(byte_C532821D - 0xC52C474C)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4742 58 46                         MOV             R0, R11       ; stream</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4744 32 46                         MOV             R2, R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4746 23 46                         MOV             R3, R4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4748 79 44                         ADD             R1, PC        ; byte_C532821D ; format</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C474A CD E9 00 A9                   STRD.W          R10, R9, [SP,#0x40+var_40]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C474E CD F8 08 80                   STR.W           R8, [SP,#0x40+var_38]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4752 E1 F7 20 EA                   BLX             fscanf</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4752</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4756 DF F8 10 17                   LDR.W           R1, =(dword_C532822C - 0xC52C4766)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C475A 05 46                         MOV             R5, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C475C 30 46                         MOV             R0, R6        ; s1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C475E 4F F4 80 52                   MOV.W           R2, #0x1000   ; n</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4762 79 44                         ADD             R1, PC        ; dword_C532822C ; s2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4764 E1 F7 78 E8                   BLX             strncmp</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4764</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4768 00 28                         CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C476A 43 D0                         BEQ             loc_C52C47F4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C476A</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C476C 68 1C                         ADDS            R0, R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C476E E6 D1                         BNE             loc_C52C473E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C476E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4770 30 46                         MOV             R0, R6        ; ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4772 E1 F7 42 E8                   BLX             free</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4772</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4776 58 46                         MOV             R0, R11       ; stream</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4778 E1 F7 9E E8                   BLX             fclose</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4778</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C477C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C477C                               loc_C52C477C </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C477C 01 F0 18 FB                   BL              check_qemu_sub_C60B1DB0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C477C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4780 C0 BB                         CBNZ            R0, loc_C52C47F4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4780</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4782 DF F8 48 06                   LDR.W           R0, =(off_C5325018 - 0xC52C478E)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4786 DD F8 14 80                   LDR.W           R8, [SP,#0x40+var_2C]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C478A 78 44                         ADD             R0, PC        ; off_C5325018</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C478C 00 68                         LDR             R0, [R0]      ; off_C5326004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C478E 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C478E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4790</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4790                               loc_C52C4790  </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4790 90 F8 FC 10                   LDRB.W          R1, [R0,#(dword_C532DEBC - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4794 00 29                         CMP             R1, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4796 00 F0 90 82                   BEQ.W           loc_C52C4CBA</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4796</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C479A DF F8 34 16                   LDR.W           R1, =(x.196_ptr - 0xC52C47A8)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C479E 00 26                         MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47A0 DF F8 30 26                   LDR.W           R2, =(y.197_ptr - 0xC52C47AA)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47A4 79 44                         ADD             R1, PC        ; x.196_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47A6 7A 44                         ADD             R2, PC        ; y.197_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47A8 09 68                         LDR             R1, [R1]      ; x.196</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47AA 12 68                         LDR             R2, [R2]      ; y.197</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47AC 09 68                         LDR             R1, [R1]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47AE 12 68                         LDR             R2, [R2]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47B0 4B 1E                         SUBS            R3, R1, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47B2 4B 43                         MULS            R3, R1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47B4 51 40                         EORS            R1, R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47B6 92 29                         CMP             R1, #0x92</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47B8 4F F0 00 01                   MOV.W           R1, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47BC 4F EA C2 05                   MOV.W           R5, R2,LSL#3</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47C0 C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47C2 01 21                         MOVGT           R1, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47C4 B5 F5 E4 7F                   CMP.W           R5, #0x1C8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47C8 4F F0 00 05                   MOV.W           R5, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47CC B8 BF                         IT LT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47CE 01 25                         MOVLT           R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47D0 0A 2A                         CMP             R2, #0xA</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47D2 4F F0 00 02                   MOV.W           R2, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47D6 41 EA 05 01                   ORR.W           R1, R1, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47DA B8 BF                         IT LT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47DC 01 22                         MOVLT           R2, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47DE DB 07                         LSLS            R3, R3, #0x1F</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47E0 08 BF                         IT EQ</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47E2 01 26                         MOVEQ           R6, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47E4 32 43                         ORRS            R2, R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47E6 11 43                         ORRS            R1, R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47E6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47E8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47E8                               loc_C52C47E8 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47E8 01 29                         CMP             R1, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47EA FD D1                         BNE             loc_C52C47E8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47EA</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47EC 80 6B                         LDR             R0, [R0,#(off_C532DDF8 - 0xC532DDC0)] ; off_C532812C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47EE 40 6A                         LDR             R0, [R0,#0x24] ; sub_C52C9AF8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F0 80 47                         BLX             R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F2 30 B3                         CBZ             R0, loc_C52C4842</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F4                               loc_C52C47F4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F4 01 20                         MOVS            R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F6 C1 E2                         B               loc_C52C4D7C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F8                               loc_C52C47F8 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47F8 DF F8 BC 15                   LDR.W           R1, =(aDevQemuPipe - 0xC52C4804) ; &#34;e\x16\x11MZ)\r:)\f06=!Z&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C47FC DF F8 BC 05                   LDR.W           R0, =(aDevSocketQemud - 0xC52C4806) ; &#34;e\x16\x11MZ+\a4764p&lt;!7:.r&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4800 79 44                         ADD             R1, PC        ; &#34;e\x16\x11MZ)\r:)\f06=!Z&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4802 78 44                         ADD             R0, PC        ; &#34;e\x16\x11MZ+\a4764p&lt;!7:.r&#34; ; name</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4804 CD E9 06 01                   STRD.W          R0, R1, [SP,#0x40+var_28]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4808 00 21                         MOVS            R1, #0        ; type</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C480A E1 F7 5C E8                   BLX             access</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C480A</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C480E 01 30                         ADDS            R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4810 7F F4 12 AF                   BNE.W           loc_C52C4638</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4810</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4814 DF F8 A8 05                   LDR.W           R0, =(aDevQemuPipe - 0xC52C481E) ; &#34;e\x16\x11MZ)\r:)\f06=!Z&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4818 00 21                         MOVS            R1, #0        ; type</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C481A 78 44                         ADD             R0, PC        ; &#34;e\x16\x11MZ)\r:)\f06=!Z&#34; ; name</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C481C E1 F7 52 E8                   BLX             access</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C481C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4820 0A E7                         B               loc_C52C4638</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4820</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4822</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4822                               loc_C52C4822   </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4822 06 AE                         ADD             R6, SP, #0x40+var_28</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4824 01 25                         MOVS            R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4824</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4826</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4826                               loc_C52C4826 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4826 01 2D                         CMP             R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4828 08 D8                         BHI             loc_C52C483C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4828</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C482A 56 F8 25 00                   LDR.W           R0, [R6,R5,LSL#2] ; name</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C482E 00 21                         MOVS            R1, #0        ; type</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4830 E1 F7 48 E8                   BLX             access        ; /dev/qemu_pipe</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4830</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4834 01 35                         ADDS            R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4836 01 30                         ADDS            R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4838 F5 D0                         BEQ             loc_C52C4826</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C4838</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">检测特征:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">init.svc.qemud</span></code><code><span class="code-snippet_outer">init.svc.qemu-props</span></code><code><span class="code-snippet_outer">qemu.hw.mainkeys</span></code><code><span class="code-snippet_outer">qemu.sf.fake_camera</span></code><code><span class="code-snippet_outer">qemu.sf.lcd_density</span></code><code><span class="code-snippet_outer">ro.bootloader</span></code><code><span class="code-snippet_outer">ro.bootmode</span></code></pre></section><p><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-weight: 600;text-align: start;">检测脱壳机与frida</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60B8                               check_frida_Youpk_sub_C60B20B8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60B8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60B8                               var_9C= -0x9C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60B8                               var_98= -0x98</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60B8                               var_14= -0x14</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60B8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60B8                               ; __unwind {</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60B8 F0 B5                         PUSH            {R4-R7,LR}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60BA 03 AF                         ADD             R7, SP, #0xC</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60BC 4D F8 04 BD                   PUSH.W          {R11}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60C0 A4 B0                         SUB             SP, SP, #0x90</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60C2 98 48                         LDR             R0, =(__stack_chk_guard_ptr - 0xC52C60CE)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60C4 00 22                         MOVS            R2, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60C6 98 49                         LDR             R1, =(aDataDexname - 0xC52C60D0) ; &#34;e\x16\x15O\x14w\f2$=!2(D&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60C8 00 23                         MOVS            R3, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60CA 78 44                         ADD             R0, PC        ; __stack_chk_guard_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60CC 79 44                         ADD             R1, PC        ; &#34;e\x16\x15O\x14w\f2$=!2(D&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60CE 00 68                         LDR             R0, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60D0 00 68                         LDR             R0, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60D2 23 90                         STR             R0, [SP,#0xA0+var_14]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60D4 6F F0 63 00                   MOV             R0, #0xFFFFFF9C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60D8 80 B4                         PUSH            {R7}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60DA 40 F2 4E 17                   MOVW            R7, #0x14E    ; __NR_faccessat</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60DE 00 DF                         SVC             0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60E0 80 BC                         POP             {R7}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60E2 10 F5 80 5F                   CMN.W           R0, #0x1000</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60E6 15 D9                         BLS             loc_C52C6114</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60E6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60E8 90 49                         LDR             R1, =(off_C5325018 - 0xC52C60F0)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60EA 45 42                         NEGS            R5, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60EC 79 44                         ADD             R1, PC        ; off_C5325018</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60EE 0E 68                         LDR             R6, [R1]      ; off_C5326004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60F0 DF F7 1E EC                   BLX             __errno</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60F0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60F4 04 46                         MOV             R4, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60F6 8E 49                         LDR             R1, =(aCnYoulorUnpack - 0xC52C6100) ; &#34;)\x1C[B\x1A-\x048.|\x151=%9$/\x00t&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60F8 25 60                         STR             R5, [R4]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60FA 30 68                         LDR             R0, [R6]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60FC 79 44                         ADD             R1, PC        ; &#34;)\x1C[B\x1A-\x048.|\x151=%9$/\x00t&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C60FE 80 68                         LDR             R0, [R0,#(off_C532DDC8 - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6100 02 68                         LDR             R2, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6102 92 69                         LDR             R2, [R2,#0x18]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6104 90 47                         BLX             R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6104</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6106 31 68                         LDR             R1, [R6]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6108 05 46                         MOV             R5, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C610A 88 68                         LDR             R0, [R1,#(off_C532DDC8 - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C610C 09 69                         LDR             R1, [R1,#(off_C532DDD0 - 0xC532DDC0)] ; off_C53266C4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C610E 49 6E                         LDR             R1, [R1,#0x64] ; ExceptionClear_sub_C609E948</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6110 88 47                         BLX             R1            ; off_C5323DD0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6110</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6112 75 B1                         CBZ             R5, loc_C52C6132</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6112</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6114</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6114 01 25                         MOVS            R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6114</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6116</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6116                               loc_C52C6116                  ; CODE XREF: check_frida_Youpk_sub_C60B20B8+9C↓j</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6116                                                             ; check_frida_Youpk_sub_C60B20B8+BA↓j</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6116                                                             ; check_frida_Youpk_sub_C60B20B8+26A↓j</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6116 A1 48                         LDR             R0, =(__stack_chk_guard_ptr - 0xC52C611E)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6118 23 99                         LDR             R1, [SP,#0xA0+var_14]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C611A 78 44                         ADD             R0, PC        ; __stack_chk_guard_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C611C 00 68                         LDR             R0, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C611E 00 68                         LDR             R0, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6120 40 1A                         SUBS            R0, R0, R1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6122 01 BF                         ITTTT EQ</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6124 28 46                         MOVEQ           R0, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6126 24 B0                         ADDEQ           SP, SP, #0x90</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6128 5D F8 04 BB                   POPEQ.W         {R11}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C612C F0 BD                         POPEQ           {R4-R7,PC}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C612C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C612E DF F7 6A EB                   BLX             __stack_chk_fail</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C612E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6132 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6132</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6132                               loc_C52C6132                  ; CODE XREF: check_frida_Youpk_sub_C60B20B8+5A↑j</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6132 80 48                         LDR             R0, =(off_C5325018 - 0xC52C6138)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6134 78 44                         ADD             R0, PC        ; off_C5325018</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6136 00 68                         LDR             R0, [R0]      ; off_C5326004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6138 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C613A 41 6F                         LDR             R1, [R0,#(dword_C532DE34 - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C613C 18 29                         CMP             R1, #0x18</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C613E 19 DB                         BLT             loc_C52C6174</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C613E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6140 00 68                         LDR             R0, [R0]      ; off_C5326504</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6142 01 22                         MOVS            R2, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6144 7D 49                         LDR             R1, =(_ZN3art8Unpacker12dumpAllDexesEv - 0xC52C614E) ; &#34;\x15(:\b\x14*\x1Co\t=0&gt;./?={@\x10N\x18(&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6146 01 25                         MOVS            R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6148 C3 68                         LDR             R3, [R0,#0xC] ; Find_Func_sub_C60985B8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C614A 79 44                         ADD             R1, PC        ; &#34;\x15(:\b\x14*\x1Co\t=0&gt;./?={@\x10N\x18(&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C614C 7A 48                         LDR             R0, =(byte_C5328177 - 0xC52C6152)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C614E 78 44                         ADD             R0, PC        ; byte_C5328177</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6150 98 47                         BLX             R3            ; Find_Func_sub_C60985B8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6150</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6152 00 28                         CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6154 DF D1                         BNE             loc_C52C6116</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6154</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6156 7A 48                         LDR             R0, =(off_C5325018 - 0xC52C6162)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6158 01 22                         MOVS            R2, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C615A 7B 49                         LDR             R1, =(aZn3art4aupk13a - 0xC52C6164) ; &#34;\x15(:\b\x14*\x1Cc\x1D&amp;04|w;::\x195I&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C615C 01 25                         MOVS            R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C615E 78 44                         ADD             R0, PC        ; off_C5325018</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6160 79 44                         ADD             R1, PC        ; &#34;\x15(:\b\x14*\x1Cc\x1D&amp;04|w;::\x195I&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6162 00 68                         LDR             R0, [R0]      ; off_C5326004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6164 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6166 00 68                         LDR             R0, [R0]      ; off_C5326504</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6168 C3 68                         LDR             R3, [R0,#0xC] ; Find_Func_sub_C60985B8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C616A 76 48                         LDR             R0, =(byte_C5328177 - 0xC52C6170)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C616C 78 44                         ADD             R0, PC        ; byte_C5328177</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C616E 98 47                         BLX             R3            ; Find_Func_sub_C60985B8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C616E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6170 00 28                         CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6172 D0 D1                         BNE             loc_C52C6116</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6172</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6174</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6174                               loc_C52C6174   </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6174 75 49                         LDR             R1, =(aDataLocalTmpUn - 0xC52C6182) ; &#34;e\x16\x15O\x14w\x048?2,p9)*`?\x1C\x04Z&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6176 6F F0 63 00                   MOV             R0, #0xFFFFFF9C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C617A 00 22                         MOVS            R2, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C617C 00 23                         MOVS            R3, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C617E 79 44                         ADD             R1, PC        ; &#34;e\x16\x15O\x14w\x048?2,p9)*`?\x1C\x04Z&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6180 4F F2 00 05 CF F6 FF 75       MOV             R5, #0xFFFFF000</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6188 80 B4                         PUSH            {R7}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C618A 40 F2 4E 17                   MOVW            R7, #0x14E    ; __NR_faccessat</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C618E 00 DF                         SVC             0             ; /data/local/tmp/unpacker.config</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6190 80 BC                         POP             {R7}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6192 A8 42                         CMP             R0, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6194 BE D9                         BLS             loc_C52C6114</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6194</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6196 6E 49                         LDR             R1, =(aDataLocalTmpAu - 0xC52C61A4) ; &#34;e\x16\x15O\x14w\x048?2,p9)*`+\a\x04P[;&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6198 40 42                         NEGS            R0, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C619A 20 60                         STR             R0, [R4]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C619C 6F F0 63 00                   MOV             R0, #0xFFFFFF9C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61A0 79 44                         ADD             R1, PC        ; &#34;e\x16\x15O\x14w\x048?2,p9)*`+\a\x04P[;&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61A2 00 22                         MOVS            R2, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61A4 00 23                         MOVS            R3, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61A6 80 B4                         PUSH            {R7}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61A8 40 F2 4E 17                   MOVW            R7, #0x14E    ; __NR_faccessat</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61AC 00 DF                         SVC             0             ; /data/local/tmp/aupk.config</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61AE 80 BC                         POP             {R7}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61B0 A8 42                         CMP             R0, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61B2 AF D9                         BLS             loc_C52C6114</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61B2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61B4 67 49                         LDR             R1, =(aDataFart - 0xC52C61C2) ; &#34;e\x16\x15O\x14w\x0E6.&#39;@&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61B6 40 42                         NEGS            R0, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61B8 20 60                         STR             R0, [R4]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61BA 6F F0 63 00                   MOV             R0, #0xFFFFFF9C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61BE 79 44                         ADD             R1, PC        ; &#34;e\x16\x15O\x14w\x0E6.&#39;@&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61C0 00 22                         MOVS            R2, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61C2 00 23                         MOVS            R3, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61C4 80 B4                         PUSH            {R7}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61C6 40 F2 4E 17                   MOVW            R7, #0x14E    ; __NR_faccessat</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61CA 00 DF                         SVC             0             ; /data/fart</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61CC 80 BC                         POP             {R7}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61CE A8 42                         CMP             R0, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61D0 A0 D9                         BLS             loc_C52C6114</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61D0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61D2 61 4A                         LDR             R2, =(aDataLocalTmpRe - 0xC52C61DC) ; &#34;e\x16\x15O\x14w\x048?2,p9)*`8\x17Z]\a1&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61D4 40 42                         NEGS            R0, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61D6 61 49                         LDR             R1, =(aReFridaServer - 0xC52C61E0) ; &#34;8\x17Z]\a1\f6r %-;!(O&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61D8 7A 44                         ADD             R2, PC        ; &#34;e\x16\x15O\x14w\x048?2,p9)*`8\x17Z]\a1&#34;...</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61DA 20 60                         STR             R0, [R4]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61DC 79 44                         ADD             R1, PC        ; &#34;8\x17Z]\a1\f6r %-;!(O&#34; ; needle</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61DE 10 46                         MOV             R0, R2        ; haystack</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61E0 DF F7 5E EB                   BLX             strstr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61E0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61E4 00 28                         CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61E6 95 D0                         BEQ             loc_C52C6114</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61E6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61E8 5D 48                         LDR             R0, =(off_C5325018 - 0xC52C61EE)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61EA 78 44                         ADD             R0, PC        ; off_C5325018</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61EC 00 68                         LDR             R0, [R0]      ; off_C5326004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61EE 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61F0 41 6F                         LDR             R1, [R0,#(dword_C532DE34 - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61F2 18 29                         CMP             R1, #0x18</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61F4 08 DB                         BLT             loc_C52C6208</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61F4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61F6 00 68                         LDR             R0, [R0]      ; off_C5326504</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61F8 00 22                         MOVS            R2, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61FA 5D 49                         LDR             R1, =(myfartInvoke - 0xC52C6202) ; &#34;&#39;\v\x12Z\a,!9*&lt;+:M&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61FC C3 68                         LDR             R3, [R0,#0xC] ; Find_Func_sub_C60985B8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C61FE 79 44                         ADD             R1, PC        ; &#34;&#39;\v\x12Z\a,!9*&lt;+:M&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6200 5A 48                         LDR             R0, =(byte_C5328177 - 0xC52C6206)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6202 78 44                         ADD             R0, PC        ; byte_C5328177</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6204 98 47                         BLX             R3            ; Find_Func_sub_C60985B8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6204</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6206 09 E0                         B               loc_C52C621C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6206</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6208 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6208</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6208                               loc_C52C6208 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6208 56 48                         LDR             R0, =(byte_C5328177 - 0xC52C6210)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C620A 00 21                         MOVS            R1, #0        ; mode</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C620C 78 44                         ADD             R0, PC        ; byte_C5328177 ; file</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C620E DF F7 0C EB                   BLX             dlopen</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C620E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6212 30 B1                         CBZ             R0, loc_C52C6222</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6212</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6214 54 49                         LDR             R1, =(myfartInvoke - 0xC52C621A) ; &#34;&#39;\v\x12Z\a,!9*&lt;+:M&#34;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6216 79 44                         ADD             R1, PC        ; &#34;&#39;\v\x12Z\a,!9*&lt;+:M&#34; ; name</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6218 DF F7 0C EB                   BLX             dlsym</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6218</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C621C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C621C                               loc_C52C621C </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C621C 00 28                         CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C621E 7F F4 79 AF                   BNE.W           loc_C52C6114</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C621E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6222</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6222                               loc_C52C6222</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6222 54 48                         LDR             R0, =(off_C5325018 - 0xC52C6228)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6224 78 44                         ADD             R0, PC        ; off_C5325018</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6226 00 68                         LDR             R0, [R0]      ; off_C5326004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6228 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C622A 90 F8 FA 10                   LDRB.W          R1, [R0,#(dword_C532DEB8+2 - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C622E 00 29                         CMP             R1, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6230 6D D0                         BEQ             loc_C52C630E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6230</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6232 02 A8                         ADD             R0, SP, #0xA0+var_98</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6234 80 21                         MOVS            R1, #0x80</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6236 DF F7 CE EA                   BLX             __aeabi_memclr8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6236</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C623A 4F 48                         LDR             R0, =(x.216_ptr - 0xC52C6246)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C623C 00 26                         MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C623E 4F 49                         LDR             R1, =(y.217_ptr - 0xC52C6248)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6240 00 23                         MOVS            R3, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6242 78 44                         ADD             R0, PC        ; x.216_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6244 79 44                         ADD             R1, PC        ; y.217_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6246 00 68                         LDR             R0, [R0]      ; x.216</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6248 09 68                         LDR             R1, [R1]      ; y.217</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C624A 00 68                         LDR             R0, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C624C 09 68                         LDR             R1, [R1]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C624E 42 1E                         SUBS            R2, R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6250 09 29                         CMP             R1, #9</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6252 C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6254 01 26                         MOVGT           R6, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6256 42 43                         MULS            R2, R0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6258 48 40                         EORS            R0, R1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C625A 67 28                         CMP             R0, #0x67 ; &#39;g&#39;</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C625C 4F F0 00 00                   MOV.W           R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6260 4F EA 01 11                   MOV.W           R1, R1,LSL#4</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6264 C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6266 01 20                         MOVGT           R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6268 B1 F5 AF 7F                   CMP.W           R1, #0x15E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C626C D8 BF                         IT LE</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C626E 01 23                         MOVLE           R3, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6270 02 F0 01 02                   AND.W           R2, R2, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6274 18 43                         ORRS            R0, R3</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6276 86 EA 02 05                   EOR.W           R5, R6, R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C627A 32 43                         ORRS            R2, R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C627C 82 F0 01 02                   EOR.W           R2, R2, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6280 2A 43                         ORRS            R2, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6282 10 43                         ORRS            R0, R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6282</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6284</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6284                               loc_C52C6284 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6284 01 28                         CMP             R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6286 FD D1                         BNE             loc_C52C6284</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6286</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6288 3D 48                         LDR             R0, =(unk_C53284EF - 0xC52C6290)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C628A 02 A9                         ADD             R1, SP, #0xA0+var_98</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C628C 78 44                         ADD             R0, PC        ; unk_C53284EF</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C628E FF F7 51 FE                   BL              system_property_get_sub_C60B1F34</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C628E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6292 3C 49                         LDR             R1, =(x.216_ptr - 0xC52C629C)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6294 00 26                         MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6296 3C 4A                         LDR             R2, =(y.217_ptr - 0xC52C629E)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6298 79 44                         ADD             R1, PC        ; x.216_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C629A 7A 44                         ADD             R2, PC        ; y.217_ptr</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C629C 09 68                         LDR             R1, [R1]      ; x.216</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C629E 12 68                         LDR             R2, [R2]      ; y.217</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62A0 09 68                         LDR             R1, [R1]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62A2 12 68                         LDR             R2, [R2]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62A4 4B 1E                         SUBS            R3, R1, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62A6 4B 43                         MULS            R3, R1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62A8 51 40                         EORS            R1, R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62AA 0A 29                         CMP             R1, #0xA</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62AC 4F F0 00 01                   MOV.W           R1, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62B0 4F EA 42 05                   MOV.W           R5, R2,LSL#1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62B4 C8 BF                         IT GT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62B6 01 21                         MOVGT           R1, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62B8 E7 2D                         CMP             R5, #0xE7</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62BA 4F F0 00 05                   MOV.W           R5, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62BE B8 BF                         IT LT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62C0 01 25                         MOVLT           R5, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62C2 0A 2A                         CMP             R2, #0xA</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62C4 4F F0 00 02                   MOV.W           R2, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62C8 41 EA 05 01                   ORR.W           R1, R1, R5</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62CC B8 BF                         IT LT</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62CE 01 22                         MOVLT           R2, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62D0 DB 07                         LSLS            R3, R3, #0x1F</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62D2 08 BF                         IT EQ</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62D4 01 26                         MOVEQ           R6, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62D6 32 43                         ORRS            R2, R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62D8 11 43                         ORRS            R1, R2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62D8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62DA</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62DA                               loc_C52C62DA </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62DA 01 29                         CMP             R1, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62DC FD D1                         BNE             loc_C52C62DA</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62DC</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62DE 01 28                         CMP             R0, #1</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62E0 07 DB                         BLT             loc_C52C62F2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62E0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62E2 2A 49                         LDR             R1, =(dword_C5328508+2 - 0xC52C62EA)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62E4 02 A8                         ADD             R0, SP, #0xA0+var_98</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62E6 79 44                         ADD             R1, PC        ; dword_C5328508</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62E8 1A F0 B3 FC                   BL              strstr_sub_C60AAC52</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62E8</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62EC 00 28                         CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62EE 7F F4 11 AF                   BNE.W           loc_C52C6114</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62EE</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62F2</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62F2                               loc_C52C62F2 </span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62F2 27 48                         LDR             R0, =(off_C5325018 - 0xC52C62FE)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62F4 00 21                         MOVS            R1, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62F6 27 4A                         LDR             R2, =(sub_C52C63A0+1 - 0xC52C6300)</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62F8 00 23                         MOVS            R3, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62FA 78 44                         ADD             R0, PC        ; off_C5325018</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62FC 7A 44                         ADD             R2, PC        ; sub_C52C63A0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C62FE 04 68                         LDR             R4, [R0]      ; off_C5326004</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6300 20 68                         LDR             R0, [R4]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6302 D0 F8 98 01                   LDR.W           R0, [R0,#(off_C532DF58 - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6306 06 68                         LDR             R6, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6308 01 A8                         ADD             R0, SP, #0xA0+var_9C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C630A B0 47                         BLX             R6</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C630A</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C630C 20 68                         LDR             R0, [R4]      ; off_C532DDC0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C630C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C630E</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C630E                               loc_C52C630E                  ; CODE XREF: check_frida_Youpk_sub_C60B20B8+178↑j</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C630E D0 F8 98 01                   LDR.W           R0, [R0,#(off_C532DF58 - 0xC532DDC0)]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6312 00 21                         MOVS            R1, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6314 20 4A                         LDR             R2, =(T2_Check_frida_sub_C6087910+1 - 0xC52C6320) ; POP {R4-R7,PC}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6316 00 23                         MOVS            R3, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6318 00 25                         MOVS            R5, #0</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C631A 06 68                         LDR             R6, [R0]</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C631C 7A 44                         ADD             R2, PC        ; T2_Check_frida_sub_C6087910 ; POP {R4-R7,PC}</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C631E 01 A8                         ADD             R0, SP, #0xA0+var_9C</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6320 B0 47                         BLX             R6            ; pthread_create</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6320</span></code><code><span class="code-snippet_outer">.text&amp;ARM.extab:C52C6322 F8 E6                         B               loc_C52C6116</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">检测特征:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">_ZN3art8Unpacker12dumpAllDexesEv</span></code><code><span class="code-snippet_outer">_ZN3art4Aupk13aupkArtMethodE</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">re.frida.server</span></code><code><span class="code-snippet_outer">/data/local/tmp/re.frida.server</span></code></pre></section><p><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-weight: 600;text-align: start;">检测调试器进程状态与调试端口</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42EC                               anitdbg1_sub_2F2EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42EC                               var_120= -0x120</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42EC                               s= -0xA0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42EC                               var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42EC                               ; __unwind {</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42EC F0 B5                         PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42EE 03 AF                         ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42F0 2D E9 00 0F                   PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42F4 E1 B0                         SUB             SP, SP, #0x184</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42F6 7B 48                         LDR             R0, =(__stack_chk_guard_ptr - 0xC52C42FE)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42F8 80 21                         MOVS            R1, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42FA 78 44                         ADD             R0, PC        ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42FC 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C42FE 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4300 60 90                         STR             R0, [SP,#0x1A0+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4302 40 A8                         ADD             R0, SP, #0x1A0+s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4304 E1 F7 66 EA                   BLX             __aeabi_memclr8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4304</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4308 20 A8                         ADD             R0, SP, #0x1A0+var_120</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C430A 80 21                         MOVS            R1, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C430C E1 F7 62 EA                   BLX             __aeabi_memclr8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C430C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4310 68 46                         MOV             R0, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4312 80 21                         MOVS            R1, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4314 E1 F7 5E EA                   BLX             __aeabi_memclr8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4314</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4318 73 48                         LDR             R0, =(aProcSelfStatus - 0xC52C4326) ; &#34;e\x02\x06T\x16w\x1B205o,9%.:9r&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C431A 00 21                         MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C431C 4F F4 80 72                   MOV.W           R2, #0x100</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4320 00 23                         MOVS            R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4322 78 44                         ADD             R0, PC        ; &#34;e\x02\x06T\x16w\x1B205o,9%.:9r&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4324 80 B4                         PUSH            {R7}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4326 4F F0 05 07                   MOV.W           R7, #5        ; __NR_open</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C432A 00 DF                         SVC             0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C432C 80 BC                         POP             {R7}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C432E 04 46                         MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4330 14 F5 80 5F                   CMN.W           R4, #0x1000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4334 31 D9                         BLS             loc_C52C439A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4334</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4336 74 48                         LDR             R0, =(x.174_ptr - 0xC52C433E)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4338 74 49                         LDR             R1, =(y.175_ptr - 0xC52C4340)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C433A 78 44                         ADD             R0, PC        ; x.174_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C433C 79 44                         ADD             R1, PC        ; y.175_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C433E 00 68                         LDR             R0, [R0]      ; x.174</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4340 09 68                         LDR             R1, [R1]      ; y.175</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4342 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4344 09 68                         LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4346 46 1E                         SUBS            R6, R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4348 81 EA 00 02                   EOR.W           R2, R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C434C 70 43                         MULS            R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C434E A3 2A                         CMP             R2, #0xA3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4350 4F F0 00 02                   MOV.W           R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4354 4F EA 41 06                   MOV.W           R6, R1,LSL#1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4358 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C435A 01 22                         MOVLT           R2, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C435C B6 F5 A7 7F                   CMP.W           R6, #0x14E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4360 4F F0 00 06                   MOV.W           R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4364 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4366 01 26                         MOVGT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4368 09 29                         CMP             R1, #9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C436A C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C436C 01 23                         MOVGT           R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C436E 00 F0 01 00                   AND.W           R0, R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4372 86 EA 02 05                   EOR.W           R5, R6, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4376 32 43                         ORRS            R2, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4378 83 EA 00 01                   EOR.W           R1, R3, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C437C 18 43                         ORRS            R0, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C437E 82 F0 01 02                   EOR.W           R2, R2, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4382 80 F0 01 00                   EOR.W           R0, R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4386 2A 43                         ORRS            R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4388 08 43                         ORRS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C438A 10 43                         ORRS            R0, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C438A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C438C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C438C                               loc_C52C438C                  ; CODE XREF: anitdbg1_sub_2F2EC+A2↓j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C438C 01 28                         CMP             R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C438E FD D1                         BNE             loc_C52C438C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C438E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4390 64 42                         NEGS            R4, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4392 E1 F7 CE EA                   BLX             __errno</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4392</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4396 04 60                         STR             R4, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4398 81 E0                         B               loc_C52C449E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4398</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C439A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C439A                               loc_C52C439A                  ; CODE XREF: anitdbg1_sub_2F2EC+48↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C439A 00 2C                         CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C439C C0 F2 7F 80                   BLT.W           loc_C52C449E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C439C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43A0 40 A9                         ADD             R1, SP, #0x1A0+s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43A2 20 46                         MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43A4 80 22                         MOVS            R2, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43A6 FF F7 A1 FA                   BL              read_sub_C60848EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43A6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43AA 01 28                         CMP             R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43AC 39 DB                         BLT             loc_C52C4422</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43AE DF F8 3C 81                   LDR.W           R8, =(aPoqn1h - 0xC52C43C2) ; &#34;:.POQN1h&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43B2 40 AE                         ADD             R6, SP, #0x1A0+s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43B4 DF F8 38 91                   LDR.W           R9, =(byte_C532816A - 0xC52C43C8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43B8 20 AD                         ADD             R5, SP, #0x1A0+var_120</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43BA DF F8 38 A1                   LDR.W           R10, =(aPoqn1h - 0xC52C43CA) ; &#34;:.POQN1h&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43BE F8 44                         ADD             R8, PC        ; &#34;:.POQN1h&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43C0 DF F8 34 B1                   LDR.W           R11, =(dword_C532816C+1 - 0xC52C43CC)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43C4 F9 44                         ADD             R9, PC        ; byte_C532816A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43C6 FA 44                         ADD             R10, PC       ; &#34;:.POQN1h&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43C8 FB 44                         ADD             R11, PC       ; dword_C532816C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43CA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43CA                               loc_C52C43CA                  ; CODE XREF: anitdbg1_sub_2F2EC+134↓j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43CA 30 46                         MOV             R0, R6        ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43CC 41 46                         MOV             R1, R8        ; delim</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43CE E1 F7 28 EB                   BLX             strtok</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43CE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43D2 02 46                         MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43D4 00 2A                         CMP             R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43D6 15 D0                         BEQ             loc_C52C4404</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43D6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43D8 28 46                         MOV             R0, R5        ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43DA 49 46                         MOV             R1, R9        ; format</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43DC E1 F7 00 EA                   BLX             sprintf</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43DC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43E0 00 20                         MOVS            R0, #0        ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43E2 51 46                         MOV             R1, R10       ; delim</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43E4 E1 F7 1C EB                   BLX             strtok</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43E8 02 46                         MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43EA 5A B1                         CBZ             R2, loc_C52C4404</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43EA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43EC 49 49                         LDR             R1, =(byte_C532816A - 0xC52C43F4)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43EE 68 46                         MOV             R0, SP        ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43F0 79 44                         ADD             R1, PC        ; byte_C532816A ; format</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43F2 E1 F7 F6 E9                   BLX             sprintf</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43F2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43F6 28 46                         MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43F8 59 46                         MOV             R1, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43FA 80 22                         MOVS            R2, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43FC 1C F0 60 FC                   BL              sub_C52E0CC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C43FC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4400 00 28                         CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4402 5A D0                         BEQ             loc_C52C44BA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4402</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4404</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4404                               loc_C52C4404                  ; CODE XREF: anitdbg1_sub_2F2EC+EA↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4404                                                             ; anitdbg1_sub_2F2EC+FE↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4404 30 46                         MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4406 80 21                         MOVS            R1, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4408 E1 F7 E4 E9                   BLX             __aeabi_memclr8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4408</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C440C 28 46                         MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C440E 80 21                         MOVS            R1, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4410 E1 F7 E0 E9                   BLX             __aeabi_memclr8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4410</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4414 20 46                         MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4416 31 46                         MOV             R1, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4418 80 22                         MOVS            R2, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C441A FF F7 67 FA                   BL              read_sub_C60848EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C441A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C441E 00 28                         CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4420 D3 DC                         BGT             loc_C52C43CA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4420</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4422</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4422                               loc_C52C4422                  ; CODE XREF: anitdbg1_sub_2F2EC+C0↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4422 00 25                         MOVS            R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4422</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4424</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4424                               loc_C52C4424                  ; CODE XREF: anitdbg1_sub_2F2EC+1D6↓j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4424 01 2C                         CMP             R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4426 A4 BF                         ITT GE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4428 20 46                         MOVGE           R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C442A FF F7 23 FB                   BLGE            close_sub_C6084A74</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C442A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C442E 01 2D                         CMP             R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4430 52 DB                         BLT             loc_C52C44D8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4430</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4432 32 48                         LDR             R0, =(off_C5325018 - 0xC52C4438)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4434 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4436 00 68                         LDR             R0, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4438 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C443A D0 F8 94 01                   LDR.W           R0, [R0,#(dword_C532DF54 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C443E A8 42                         CMP             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4440 48 D0                         BEQ             loc_C52C44D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4440</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4442 80 B4                         PUSH            {R7}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4444 4F F0 14 07                   MOV.W           R7, #0x14</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4448 00 DF                         SVC             0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C444A 80 BC                         POP             {R7}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C444C 4F F2 00 08 CF F6 FF 78       MOV             R8, #0xFFFFF000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4454 04 46                         MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4456 44 45                         CMP             R4, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52C4458 05 D9                         BLS             loc_C52C4466</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">过反调试的方法就是直接path返回。</span></p><h4 data-source-line="1347" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">4.4、解密指令资源</span></h4><h6 data-source-line="1348" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">读取ijiami.ajm</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E3C                               Read_ijiami.ajm_sub_C2167E3C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E3C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E3C                               var_128= -0x128</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E3C                               var_120= -0x120</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E3C                               var_1C= -0x1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E3C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E3C                               ; __unwind {</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E3C F0 B5                         PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E3E 03 AF                         ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E40 2D E9 00 0B                   PUSH.W          {R8,R9,R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E44 C4 B0                         SUB             SP, SP, #0x110</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E46 81 46                         MOV             R9, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E48 1D 48                         LDR             R0, =(__stack_chk_guard_ptr - 0xC52B9E52)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E4A 02 AC                         ADD             R4, SP, #0x128+var_120</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E4C 0E 46                         MOV             R6, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E4E 78 44                         ADD             R0, PC        ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E50 4F F4 80 71                   MOV.W           R1, #0x100</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E54 90 46                         MOV             R8, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E56 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E58 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E5A 43 90                         STR             R0, [SP,#0x128+var_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E5C 20 46                         MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E5E EB F7 BA EC                   BLX             __aeabi_memclr8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E5E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E62 18 48                         LDR             R0, =(off_C5325018 - 0xC52B9E6A)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E64 18 49                         LDR             R1, =(dword_C5326A88 - 0xC52B9E6C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E66 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E68 79 44                         ADD             R1, PC        ; dword_C5326A88 ; format</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E6A 05 68                         LDR             R5, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E6C 28 68                         LDR             R0, [R5]      ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E6E D0 F8 74 01                   LDR.W           R0, [R0,#(off_C532DF34 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E72 82 69                         LDR             R2, [R0,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E74 20 46                         MOV             R0, R4        ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E76 EB F7 B4 EC                   BLX             sprintf</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E76</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E7A 2A 68                         LDR             R2, [R5]      ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E7C 92 F8 FE 00                   LDRB.W          R0, [R2,#(dword_C532DEBC+2 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E80 30 B1                         CBZ             R0, loc_C52B9E90</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E82 02 A9                         ADD             R1, SP, #0x128+var_120</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E84 48 46                         MOV             R0, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E86 32 46                         MOV             R2, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E88 43 46                         MOV             R3, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E8A 00 F0 21 F8                   BL              read_apk_sub_C6083ED0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E8A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E8E 0A E0                         B               loc_C52B9EA6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E8E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E90</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E90                               loc_C52B9E90  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E90 90 68                         LDR             R0, [R2,#(off_C532DDC8 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E92 D2 F8 94 10                   LDR.W           R1, [R2,#(dword_C532DE54 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E96 D2 F8 74 21                   LDR.W           R2, [R2,#(off_C532DF34 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E9A 93 69                         LDR             R3, [R2,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E9C 4A 46                         MOV             R2, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9E9E CD E9 00 68                   STRD.W          R6, R8, [SP,#0x128+var_128]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EA2 00 F0 89 F9                   BL              AAssetManager_read_sub_C52BA1B8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EA2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EA6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EA6                               loc_C52B9EA6  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EA6 09 49                         LDR             R1, =(__stack_chk_guard_ptr - 0xC52B9EAE)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EA8 43 9A                         LDR             R2, [SP,#0x128+var_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EAA 79 44                         ADD             R1, PC        ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EAC 09 68                         LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EAE 09 68                         LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EB0 89 1A                         SUBS            R1, R1, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EB2 02 BF                         ITTT EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EB4 44 B0                         ADDEQ           SP, SP, #0x110</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EB6 BD E8 00 0B                   POPEQ.W         {R8,R9,R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52B9EBA F0 BD                         POPEQ           {R4-R7,PC}</span></span></code></pre></section><p><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-weight: 600;text-align: start;">解密解析指令</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E924E 09 9D                         LDR             R5, [SP,#0x48+ptr]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9250 4F F4 80 62                   MOV.W           R2, #0x400</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9254 05 F1 18 09                   ADD.W           R9, R5, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9258 D5 E9 04 16                   LDRD.W          R1, R6, [R5,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E925C 48 46                         MOV             R0, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E925E 00 F0 E5 F8                   BL              Dec_ijiami.ajm_sub_C219742C ;解密数据</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E925E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9262 06 F1 18 00                   ADD.W           R0, R6, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9266 4F F4 80 51                   MOV.W           R1, #0x1000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E926A F7 F7 C9 FD                   BL              getsize_sub_C218EE00</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E926A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E926E 01 46                         MOV             R1, R0        ; len</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9270 00 20                         MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9272 CD E9 00 40                   STRD.W          R4, R0, [SP,#0x48+fd] ; fd</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9276 00 20                         MOVS            R0, #0        ; addr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9278 03 22                         MOVS            R2, #3        ; prot</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E927A 21 23                         MOVS            R3, #0x21 ; &#39;!&#39; ; flags</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E927C BC F7 9A EB                   BLX             mmap</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E927C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9280 07 96                         STR             R6, [SP,#0x48+var_2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9282 80 46                         MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9284 2B 69                         LDR             R3, [R5,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9286 08 F1 18 00                   ADD.W           R0, R8, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E928A 07 A9                         ADD             R1, SP, #0x48+var_2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E928C 4A 46                         MOV             R2, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E928E 05 F0 7C EF                   BLX             Dec_Parse_sub_C219D188 ; 解析解密后的指令格式，R0:返回地址，R2:解密后的数据,R3:解密后数据大小</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E928E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9292 00 28                         CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9294 40 F0 A2 80                   BNE.W           loc_C52E93DC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9294</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9298 09 9C                         LDR             R4, [SP,#0x48+ptr]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E929A 40 46                         MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E929C 18 22                         MOVS            R2, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E929E 21 46                         MOV             R1, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92A0 BC F7 94 EB                   BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92A4 24 B1                         CBZ             R4, loc_C52E92B0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92A6 20 46                         MOV             R0, R4        ; ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92A8 BC F7 A6 EA                   BLX             free</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92A8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92AC 00 20                         MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92AE 09 90                         STR             R0, [SP,#0x48+ptr]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92AE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92B0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92B0                               loc_C52E92B0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92B0 D8 F8 0C 00                   LDR.W           R0, [R8,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92B4 00 24                         MOVS            R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92B6 00 28                         CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92B8 00 F0 90 80                   BEQ.W           loc_C52E93DC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92B8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92BC 51 48                         LDR             R0, =(x.49_ptr - 0xC52E92C6)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92BE D8 F8 08 A0                   LDR.W           R10, [R8,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92C2 78 44                         ADD             R0, PC        ; x.49_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92C4 00 68                         LDR             R0, [R0]      ; x.49</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92C6 06 90                         STR             R0, [SP,#0x48+var_30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92C8 4F 48                         LDR             R0, =(y.50_ptr - 0xC52E92CE)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92CA 78 44                         ADD             R0, PC        ; y.50_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92CC 00 68                         LDR             R0, [R0]      ; y.50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92CE 05 90                         STR             R0, [SP,#0x48+var_34]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92D0 4E 48                         LDR             R0, =(off_C5325018 - 0xC52E92D6)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92D2 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92D4 00 68                         LDR             R0, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92D6 04 90                         STR             R0, [SP,#0x48+var_38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92D8 4D 48                         LDR             R0, =(off_C5325018 - 0xC52E92DE)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92DA 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92DC D0 F8 00 B0                   LDR.W           R11, [R0]     ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92E0 4C 48                         LDR             R0, =(off_C5325018 - 0xC52E92E6)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92E2 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92E4 00 68                         LDR             R0, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92E6 03 90                         STR             R0, [SP,#0x48+var_3C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92E6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92E8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92E8                               loc_C52E92E8  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92E8 06 98                         LDR             R0, [SP,#0x48+var_30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92EA 00 26                         MOVS            R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92EC 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92EE 41 1E                         SUBS            R1, R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92F0 01 FB 00 F2                   MUL.W           R2, R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92F4 05 99                         LDR             R1, [SP,#0x48+var_34]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92F6 09 68                         LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92F8 09 29                         CMP             R1, #9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92FA 02 F0 01 03                   AND.W           R3, R2, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E92FE C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9300 01 26                         MOVGT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9302 8D 00                         LSLS            R5, R1, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9304 86 EA 03 02                   EOR.W           R2, R6, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9308 1E 43                         ORRS            R6, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E930A 86 F0 01 06                   EOR.W           R6, R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E930E 16 43                         ORRS            R6, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9310 81 EA 00 02                   EOR.W           R2, R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9314 8A 2A                         CMP             R2, #0x8A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9316 4F F0 00 00                   MOV.W           R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E931A C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E931C 01 20                         MOVGT           R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E931E B5 F5 F8 7F                   CMP.W           R5, #0x1F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9322 4F F0 00 05                   MOV.W           R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9326 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9328 01 25                         MOVLT           R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E932A 5A F8 08 90                   LDR.W           R9, [R10,R8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E932E 28 43                         ORRS            R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9330 30 43                         ORRS            R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9332 0A EB 08 06                   ADD.W           R6, R10, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9332</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9336</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9336                               loc_C52E9336                  ; CODE XREF: Read_ijiami.ajm_sub_C2197218+120↓j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9336 01 28                         CMP             R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9338 FD D1                         BNE             loc_C52E9336</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9338</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E933A 38 48                         LDR             R0, =(dword_C532E200 - 0xC52E9340)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E933C 78 44                         ADD             R0, PC        ; dword_C532E200</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E933E 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9340 38 BB                         CBNZ            R0, loc_C52E9392</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9340</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9342 00 2B                         CMP             R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9344 4F F0 00 00                   MOV.W           R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9348 08 BF                         IT EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E934A 01 20                         MOVEQ           R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E934C 0A 29                         CMP             R1, #0xA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E934E 4F F0 00 03                   MOV.W           R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9352 4F EA C1 01                   MOV.W           R1, R1,LSL#3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9356 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9358 01 23                         MOVLT           R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E935A 10 2A                         CMP             R2, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E935C 4F F0 00 02                   MOV.W           R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9360 40 EA 03 00                   ORR.W           R0, R0, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9364 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9366 01 22                         MOVGT           R2, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9368 70 29                         CMP             R1, #0x70 ; &#39;p&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E936A 4F F0 00 01                   MOV.W           R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E936E B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9370 01 21                         MOVLT           R1, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9372 11 43                         ORRS            R1, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9374 08 43                         ORRS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9374</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9376</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9376                               loc_C52E9376                  ; CODE XREF: Read_ijiami.ajm_sub_C2197218+160↓j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9376 01 28                         CMP             R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9378 FD D1                         BNE             loc_C52E9376</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9378</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E937A 04 98                         LDR             R0, [SP,#0x48+var_38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E937C 00 21                         MOVS            R1, #0        ; char **</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E937E 10 22                         MOVS            R2, #0x10     ; int</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9380 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9382 D0 F8 B4 00                   LDR.W           R0, [R0,#0xB4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9386 1C 30                         ADDS            R0, #0x1C     ; char *</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9388 BC F7 CA EC                   BLX             strtol</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9388</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E938C 24 49                         LDR             R1, =(dword_C532E200 - 0xC52E9392)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E938E 79 44                         ADD             R1, PC        ; dword_C532E200</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9390 08 60                         STR             R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9390</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9392</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9392                               loc_C52E9392                  ; CODE XREF: Read_ijiami.ajm_sub_C2197218+128↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9392 A9 EB 00 01                   SUB.W           R1, R9, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9396 31 60                         STR             R1, [R6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E9398 DB F8 00 00                   LDR.W           R0, [R11]     ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E939C C2 6B                         LDR             R2, [R0,#(off_C532DDFC - 0xC532DDC0)] ; off_C5326420</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E939E 21 48                         LDR             R0, =(dword_C532E200 - 0xC52E93A4)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93A0 78 44                         ADD             R0, PC        ; dword_C532E200</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93A2 12 69                         LDR             R2, [R2,#0x10] ; getDecCode_sub_C20E39D2 ; R0:解密指令解析格式后地址指针,R1:Debug info</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93A4 C0 68                         LDR             R0, [R0,#(dword_C532E20C - 0xC532E200)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93A6 90 47                         BLX             R2            ; getDecCode_sub_C20E39D2 ; R0:解密指令解析格式后地址指针,R1:Debug info</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93A6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93A8 68 B9                         CBNZ            R0, loc_C52E93C6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93A8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93AA 03 98                         LDR             R0, [SP,#0x48+var_3C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93AC 31 68                         LDR             R1, [R6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93AE 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93B0 C2 6B                         LDR             R2, [R0,#0x3C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93B2 1D 48                         LDR             R0, =(dword_C532E200 - 0xC52E93B8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93B4 78 44                         ADD             R0, PC        ; dword_C532E200</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93B6 D3 68                         LDR             R3, [R2,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93B8 32 46                         MOV             R2, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93BA C0 68                         LDR             R0, [R0,#(dword_C532E20C - 0xC532E200)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93BC 98 47                         BLX             R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93BC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93BE B0 68                         LDR             R0, [R6,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93C0 50 44                         ADD             R0, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93C2 00 F1 0C 0A                   ADD.W           R10, R0, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93C2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93C6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93C6                               loc_C52E93C6 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93C6 D8 F8 0C 00                   LDR.W           R0, [R8,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93CA 01 34                         ADDS            R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93CC 84 42                         CMP             R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93CE 8B D3                         BCC             loc_C52E92E8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93CE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93D0 09 98                         LDR             R0, [SP,#0x48+ptr] ; ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93D2 00 28                         CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93D4 18 BF                         IT NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93D6 BC F7 10 EA                   BLXNE           free</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E93D6</span></span></code></pre></section><h4 data-source-line="1617" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">4.5、hook关键方法</span></h4><h6 data-source-line="1618" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">hook类加载方法</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">art::ClassLinker::LoadMethod</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">art::DexFileVerifier::Verify</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1A8                               loc_C52BE1A8 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1A8 01 28                         CMP             R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1AA FD D1                         BNE             loc_C52BE1A8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1AA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1AC 2A 48                         LDR             R0, =(off_C5325018 - 0xC52BE1B2)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1AE 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1B0 00 68                         LDR             R0, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1B2 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1B4 90 F8 70 10                   LDRB.W          R1, [R0,#(dword_C532DE30 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1B8 A1 B1                         CBZ             R1, loc_C52BE1E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1B8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1BA 28 48                         LDR             R0, =(aDexlibaocSo+3 - 0xC52BE1C2) ; &#34;\x1D1:2*0v\x1E\x1A2&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1BC 00 21                         MOVS            R1, #0        ; mode</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1BE 78 44                         ADD             R0, PC        ; &#34;\x1D1:2*0v\x1E\x1A2&#34; ; file</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1C0 E7 F7 32 EB                   BLX             dlopen        ; dexlibaoc.so</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1C4 58 B1                         CBZ             R0, Hook_Func_LoadMethod_loc_C60B21DE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1C4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1C6 E7 F7 DA EC                   BLX             dlclose</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1C6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1CA 25 48                         LDR             R0, =(off_C5325018 - 0xC52BE1D0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1CC 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1CE 00 68                         LDR             R0, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1D0 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1D2 40 6F                         LDR             R0, [R0,#(dword_C532DE34 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1D4 16 28                         CMP             R0, #0x16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1D6 02 DC                         BGT             Hook_Func_LoadMethod_loc_C60B21DE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1D6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1D8 01 F0 5E F9                   BL              sub_C52BF498</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1D8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1DC 2E E0                         B               loc_C52BE23C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1DE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1DE                               Hook_Func_LoadMethod_loc_C60B21DE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1DE FD F7 39 F9                   BL              Hook_Func_LoadMethod_sub_C60AF454 ;hook类加载方法</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1DE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1E2 2B E0                         B               loc_C52BE23C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1E2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1E4                               loc_C52BE1E4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1E4 80 6F                         LDR             R0, [R0,#(off_C532DE38 - 0xC532DDC0)] ; sub_C52A9400</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1E6 80 47                         BLX             R0            ; dword_C5295000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1E6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1E8 30 B3                         CBZ             R0, loc_C52BE238</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1E8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1EA 1E 48                         LDR             R0, =(off_C5325018 - 0xC52BE1F2)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1EC 1E 4E                         LDR             R6, =(dword_C5327B64 - 0xC52BE1F8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1EE 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1F0 1E 49                         LDR             R1, =(dword_C5327B74+2 - 0xC52BE1FC)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1F2 1F 4A                         LDR             R2, =(sub_C52BE944+1 - 0xC52BE200)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1F4 7E 44                         ADD             R6, PC        ; dword_C5327B64</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1F6 05 68                         LDR             R5, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1F8 79 44                         ADD             R1, PC        ; dword_C5327B74</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1FA 1E 4B                         LDR             R3, =(off_C532DFEC - 0xC52BE204)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1FC 7A 44                         ADD             R2, PC        ; sub_C52BE944</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE1FE 28 68                         LDR             R0, [R5]      ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE200 7B 44                         ADD             R3, PC        ; off_C532DFEC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE202 00 68                         LDR             R0, [R0]      ; off_C5326504</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE204 04 68                         LDR             R4, [R0]      ; hook_func_sub_C609ABB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE206 30 46                         MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE208 A0 47                         BLX             R4            ; hook_func_sub_C609ABB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE208</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE20A 28 68                         LDR             R0, [R5]      ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE20C 1A 49                         LDR             R1, =(dword_C5327B98 - 0xC52BE216)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE20E 1B 4A                         LDR             R2, =(sub_C52BE9A4+1 - 0xC52BE21A)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE210 00 68                         LDR             R0, [R0]      ; off_C5326504</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE212 79 44                         ADD             R1, PC        ; dword_C5327B98</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE214 1A 4B                         LDR             R3, =(off_C532DFF0 - 0xC52BE21E)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE216 7A 44                         ADD             R2, PC        ; sub_C52BE9A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE218 04 68                         LDR             R4, [R0]      ; hook_func_sub_C609ABB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE21A 7B 44                         ADD             R3, PC        ; off_C532DFF0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE21C 30 46                         MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE21E A0 47                         BLX             R4            ; hook_func_sub_C609ABB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE21E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE220 28 68                         LDR             R0, [R5]      ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE222 18 49                         LDR             R1, =(dword_C5327BA4+3 - 0xC52BE22C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE224 18 4A                         LDR             R2, =(sub_C52BE9C0+1 - 0xC52BE230)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE226 00 68                         LDR             R0, [R0]      ; off_C5326504</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE228 79 44                         ADD             R1, PC        ; dword_C5327BA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE22A 18 4B                         LDR             R3, =(off_C532DFF4 - 0xC52BE234)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE22C 7A 44                         ADD             R2, PC        ; sub_C52BE9C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE22E 05 68                         LDR             R5, [R0]      ; hook_func_sub_C609ABB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE230 7B 44                         ADD             R3, PC        ; off_C532DFF4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE232 30 46                         MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE234 A8 47                         BLX             R5            ; hook_func_sub_C609ABB8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE234</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE236 01 E0                         B               loc_C52BE23C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE236</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE238</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE238                               loc_C52BE238  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE238 FC F7 5E FE                   BL              sub_C52BAEF8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE238</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE23C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE23C                               loc_C52BE23C                  ; CODE XREF: init_proc_sub_C608813C+10↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE23C                                                             ; init_proc_sub_C608813C+A0↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE23C                                                             ; init_proc_sub_C608813C+A6↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE23C                                                             ; init_proc_sub_C608813C+FA↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE23C 00 20                         MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE23E 5D F8 04 BB                   POP.W           {R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BE242 F0 BD                         POP             {R4-R7,PC}</span></span></code></pre></section><h4 data-source-line="1724" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">4.6、读取DEX资源文件解密并加载DEX</span></h4><h6 data-source-line="1725" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">读取ijiami.dat并解密出dex</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA440                               read_ijiami.dat_sub_C60CE440 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA440</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA440</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA440                               ; __unwind {</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA440 F0 B5                         PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA442 03 AF                         ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA444 2D E9 00 0F                   PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA448 AD F5 0B 7D                   SUB.W           SP, SP, #0x22C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA44C B0 48                         LDR             R0, =(__stack_chk_guard_ptr - 0xC52DA458)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA44E 0A AC                         ADD             R4, SP, #0x248+var_220</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA450 4F F4 00 71                   MOV.W           R1, #0x200</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA454 78 44                         ADD             R0, PC        ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA456 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA458 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA45A 8A 90                         STR             R0, [SP,#0x248+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA45C 00 20                         MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA45E 07 90                         STR             R0, [SP,#0x248+var_22C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA460 20 46                         MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA462 CB F7 B8 E9                   BLX             __aeabi_memclr8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA462</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA466 AB 48                         LDR             R0, =(off_C5325018 - 0xC52DA46E)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA468 AB 49                         LDR             R1, =(dword_C532B01C+2 - 0xC52DA470)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA46A 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA46C 79 44                         ADD             R1, PC        ; dword_C532B01C ; format</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA46E 00 68                         LDR             R0, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA470 00 68                         LDR             R0, [R0]      ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA472 D0 F8 80 20                   LDR.W           R2, [R0,#(dword_C532DE40 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA476 D0 F8 B4 00                   LDR.W           R0, [R0,#(off_C532DE74 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA47A 00 F1 10 03                   ADD.W           R3, R0, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA47E 20 46                         MOV             R0, R4        ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA480 CB F7 AE E9                   BLX             sprintf</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA480</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA484 08 A9                         ADD             R1, SP, #0x248+var_228</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA486 09 AA                         ADD             R2, SP, #0x248+var_224</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA488 07 AB                         ADD             R3, SP, #0x248+var_22C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA48A 20 46                         MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA48C 00 F0 58 F9                   BL              read_ijiami.dat_sub_C60CE740</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA48C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA490 00 28                         CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA492 00 F0 08 81                   BEQ.W           loc_C52DA6A6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA492</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA496 DD F8 24 80                   LDR.W           R8, [SP,#0x248+var_224]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA49A DD E9 07 10                   LDRD.W          R1, R0, [SP,#0x248+var_22C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA49E 00 F1 28 05                   ADD.W           R5, R0, #0x28 ; &#39;(&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4A2 00 20                         MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4A4 A8 F1 28 04                   SUB.W           R4, R8, #0x28 ; &#39;(&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4A8 03 29                         CMP             R1, #3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4AA 08 95                         STR             R5, [SP,#0x248+var_228]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4AC 09 94                         STR             R4, [SP,#0x248+var_224]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4AE 08 BF                         IT EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4B0 01 20                         MOVEQ           R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4B2 02 29                         CMP             R1, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4B4 4F F0 00 01                   MOV.W           R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4B8 08 BF                         IT EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4BA 01 21                         MOVEQ           R1, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4BC 91 EA 00 0F                   TEQ.W           R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4C0 04 D1                         BNE             loc_C52DA4CC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4C2 08 A8                         ADD             R0, SP, #0x248+var_228</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4C4 21 46                         MOV             R1, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4C6 01 22                         MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4C8 00 F0 72 FA                   BL              DecDex_sub_C60CE9B0 ; 解密出dex明文</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4CC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4CC                               loc_C52DA4CC  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4CC 93 48                         LDR             R0, =(x.304_ptr - 0xC52DA4D8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4CE 00 26                         MOVS            R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4D0 93 49                         LDR             R1, =(y.305_ptr - 0xC52DA4DA)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4D2 00 23                         MOVS            R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4D4 78 44                         ADD             R0, PC        ; x.304_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4D6 79 44                         ADD             R1, PC        ; y.305_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4D8 00 68                         LDR             R0, [R0]      ; x.304</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4DA 09 68                         LDR             R1, [R1]      ; y.305</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4DC 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4DE 09 68                         LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4E0 42 1E                         SUBS            R2, R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4E2 B1 F5 95 7F                   CMP.W           R1, #0x12A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4E6 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4E8 01 26                         MOVLT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4EA 42 43                         MULS            R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4EC 48 40                         EORS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4EE 3B 28                         CMP             R0, #0x3B ; &#39;;&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4F0 4F F0 00 00                   MOV.W           R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4F4 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4F6 01 20                         MOVGT           R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4F8 30 43                         ORRS            R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4FA D1 07                         LSLS            R1, R2, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4FC 08 BF                         IT EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA4FE 01 23                         MOVEQ           R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA500 18 43                         ORRS            R0, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA500</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA502</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA502                               loc_C52DA502</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA502 01 28                         CMP             R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA504 FD D1                         BNE             loc_C52DA502</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA504</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA506 87 48                         LDR             R0, =(off_C5325018 - 0xC52DA50C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA508 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA50A 00 68                         LDR             R0, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA50C D0 F8 00 A0                   LDR.W           R10, [R0]     ; off_C532DDC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA510 08 EB 05 00                   ADD.W           R0, R8, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA514 50 F8 2C 6C                   LDR.W           R6, [R0,#-0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA518 CA F8 D4 60                   STR.W           R6, [R10,#(dword_C532DE94 - 0xC532DDC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA51C 01 2E                         CMP             R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA51E C0 F2 C2 80                   BLT.W           loc_C52DA6A6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA51E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA522 81 48                         LDR             R0, =(x.306_ptr - 0xC52DA52C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA524 A4 EB C6 02                   SUB.W           R2, R4, R6,LSL#3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA528 78 44                         ADD             R0, PC        ; x.306_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA52A 00 68                         LDR             R0, [R0]      ; x.306</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA52C 01 90                         STR             R0, [SP,#0x248+var_244]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA52E 7F 48                         LDR             R0, =(y.307_ptr - 0xC52DA534)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA530 78 44                         ADD             R0, PC        ; y.307_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA532 00 68                         LDR             R0, [R0]      ; y.307</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA534 00 90                         STR             R0, [SP,#0x248+var_248]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA536 7E 48                         LDR             R0, =(off_C5325018 - 0xC52DA53C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA538 78 44                         ADD             R0, PC        ; off_C5325018</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA53A 00 68                         LDR             R0, [R0]      ; off_C5326004</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA53C 03 90                         STR             R0, [SP,#0x248+var_23C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA53C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA53E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA53E                               loc_C52DA53E  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA53E 51 59                         LDR             R1, [R2,R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA540 DA F8 98 00                   LDR.W           R0, [R10,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA544 06 92                         STR             R2, [SP,#0x248+var_230]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA546 01 EB 05 0B                   ADD.W           R11, R1, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA54A 08 B1                         CBZ             R0, loc_C52DA550</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA54A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA54C 84 6D                         LDR             R4, [R0,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA54E 12 E0                         B               loc_C52DA576</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA54E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA550</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA550                               loc_C52DA550  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA550 01 98                         LDR             R0, [SP,#0x248+var_244]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA552 00 9A                         LDR             R2, [SP,#0x248+var_248]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA554 02 96                         STR             R6, [SP,#0x248+var_240]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA556 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA558 D2 F8 00 90                   LDR.W           R9, [R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA55C 41 1E                         SUBS            R1, R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA55E 89 EA 00 04                   EOR.W           R4, R9, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA562 41 43                         MULS            R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA564 11 F0 01 08                   ANDS.W          R8, R1, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA568 1C D0                         BEQ             loc_C52DA5A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA568</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA56A B9 F1 1D 0F                   CMP.W           R9, #0x1D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA56E 19 DB                         BLT             loc_C52DA5A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA56E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA570 99 2C                         CMP             R4, #0x99</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA572 29 DB                         BLT             loc_C52DA5C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA572</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA574 16 E0                         B               loc_C52DA5A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA574</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA576</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA576                               loc_C52DA576</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA576 85 6C                         LDR             R5, [R0,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA578 69 1C                         ADDS            R1, R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA57A 81 64                         STR             R1, [R0,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA57C 60 20                         MOVS            R0, #0x60 ; &#39;`&#39; ; size</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA57E CB F7 60 E9                   BLX             malloc</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA57E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA582 02 2E                         CMP             R6, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA584 4F F0 00 01                   MOV.W           R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA588 44 F8 25 00                   STR.W           R0, [R4,R5,LSL#2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA58C C0 E9 0A B1                   STRD.W          R11, R1, [R0,#0x28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA590 C0 F2 89 80                   BLT.W           loc_C52DA6A6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA590</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA594 03 98                         LDR             R0, [SP,#0x248+var_23C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA596 01 3E                         SUBS            R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA598 06 9A                         LDR             R2, [SP,#0x248+var_230]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA59A 08 9D                         LDR             R5, [SP,#0x248+var_228]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA59C 08 32                         ADDS            R2, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA59E D0 F8 00 A0                   LDR.W           R10, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5A2 CC E7                         B               loc_C52DA53E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5A2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5A4                               loc_C52DA5A4  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5A4 60 20                         MOVS            R0, #0x60 ; &#39;`&#39; ; size</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5A6 CB F7 4C E9                   BLX             malloc</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5A6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5AA 4F EA 89 01                   MOV.W           R1, R9,LSL#2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5AE B1 F5 F5 7F                   CMP.W           R1, #0x1EA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5B2 CA F8 98 00                   STR.W           R0, [R10,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5B6 0D DB                         BLT             loc_C52DA5D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5B6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5B8 E0 2C                         CMP             R4, #0xE0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5BA 0B DC                         BGT             loc_C52DA5D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5BA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5BC B9 F1 0A 0F                   CMP.W           R9, #0xA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5C0 08 DB                         BLT             loc_C52DA5D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5C2 B8 F1 00 0F                   CMP.W           R8, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5C6 05 D0                         BEQ             loc_C52DA5D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5C6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5C8                               loc_C52DA5C8                  ; CODE XREF: read_ijiami.dat_sub_C60CE440+132↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5C8 60 20                         MOVS            R0, #0x60 ; &#39;`&#39; ; size</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5CA CB F7 3A E9                   BLX             malloc</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5CA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5CE CA F8 98 00                   STR.W           R0, [R10,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52DA5D2 E7 E7                         B               loc_C52DA5A4</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">这时候dump出内存中的dex大部分的方法指令被抽了，还有部分是被native。如图4-6-1所示:</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5983690112130479" data-s="300,640" style="" data-type="jpeg" data-w="981" src="https://wechat2rss.xlab.app/img-proxy/?k=37b24458&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVIicxXj8FffLn8Q3pMvMb9w0xtyuHasj0WGTaPibX7Y5uzkyf7ic1pC4L8Sd8JicPX7xpejSR9KJWwfg%2F640%3Fwx_fmt%3Djpeg"/></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5167464114832536" data-s="300,640" style="" data-type="jpeg" data-w="1045" src="https://wechat2rss.xlab.app/img-proxy/?k=dcb60f62&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVIicxXj8FffLn8Q3pMvMb9wPuTfmc1zgwPg6OrzHUGe1iaeUo6txhPV25t5rJncoHD6zWpGVabm5kw%2F640%3Fwx_fmt%3Djpeg"/></p><p>                        图4-6-1<br/></p><p><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-weight: 600;text-align: start;">内存中加载dex</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">int</span> <span class="code-snippet__string">__fastcall sub_C60E5120(int a1, int a2)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v4</span> = <span class="code-snippet__string">*y_156_ptr[0];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v5</span> = <span class="code-snippet__string">*x_155_ptr[0];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v91</span> = <span class="code-snippet__string">*_stack_chk_guard_ptr[0];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v6</span> = <span class="code-snippet__string">(v4 ^ v5) &lt; 177;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v7</span> = <span class="code-snippet__string">4 * v4 &gt; 198;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v4 &gt;= 10 &amp;&amp; (((_BYTE)v5 * ((_BYTE)v5 - 1)) &amp; 1) != 0 &amp;&amp; v7 == v6 &amp;&amp; v6 | v7 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">goto</span> <span class="code-snippet__string">LABEL_8;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( 1 )</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v85</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v8</span> = <span class="code-snippet__string">(*(int (__fastcall **)(int, char *))(*(_DWORD *)a1 + 24))(a1, (char *)&amp;MEMORY[0xC532C1A8] + 3);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">((void</span> <span class="code-snippet__string">(__fastcall *)(void **))(*off_C5325018)[4][25])((*off_C5325018)[2]);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v9</span> = <span class="code-snippet__string">*y_156_ptr[0];</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v10</span> = <span class="code-snippet__string">*y_156_ptr[0] ^ *x_155_ptr[0];</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v11</span> = <span class="code-snippet__string">((*x_155_ptr[0] - 1) * *x_155_ptr[0]) &amp; 1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( !v11 || v9 &lt; 130 || v10 &gt;= 172 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">LABEL_8</span>:<span class="code-snippet__string"></span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">(*(void</span> <span class="code-snippet__string">(__fastcall **)(int, char *))(*(_DWORD *)a1 + 24))(a1, (char *)&amp;MEMORY[0xC532C1A8] + 3);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">((void</span> <span class="code-snippet__string">(__fastcall *)(void **))(*off_C5325018)[4][25])((*off_C5325018)[2]);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( !v8 )</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v16</span> = <span class="code-snippet__string">v10 &gt; 149;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v17</span> = <span class="code-snippet__string">v9 &lt; 141;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v18</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v19</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v17 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v18</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v20</span> = <span class="code-snippet__string">v18 | v16;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( !v11 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v19</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( !(v19 | v20) )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">return</span> <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v12</span> = <span class="code-snippet__string">off_C5325018;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v13</span> = <span class="code-snippet__string">NewObjectArray_sub_C60E4734(a1, (*off_C5325018)[53], v8, 0);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v14</span> = <span class="code-snippet__string">(void (__fastcall *)(char *))(*v12)[4][24];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v90</span> = <span class="code-snippet__string">v13;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">v14((char</span> <span class="code-snippet__string">*)&amp;MEMORY[0xC532C1BC] + 3);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v15</span> = <span class="code-snippet__string">*y_156_ptr[0];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( 2 * *y_156_ptr[0] &gt;= 211</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">&amp;&amp;</span> <span class="code-snippet__string">(v15 ^ *x_155_ptr[0]) &lt;= 89</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">&amp;&amp;</span> <span class="code-snippet__string">v15 &gt;= 10</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">&amp;&amp;</span> <span class="code-snippet__string">((((unsigned __int8)*x_155_ptr[0] - 1) * (unsigned __int8)*x_155_ptr[0]) &amp; 1) != 0 )</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">goto</span> <span class="code-snippet__string">LABEL_27;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( 1 )</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v22</span> = <span class="code-snippet__string">((int (__fastcall *)(int))(*off_C5325018)[4][21])(a1);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v23</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v24</span> = <span class="code-snippet__string">*y_156_ptr[0];</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v25</span> = <span class="code-snippet__string">*x_155_ptr[0] ^ *y_156_ptr[0];</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( *y_156_ptr[0] &gt; 9 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v23</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v26</span> = <span class="code-snippet__string">((*x_155_ptr[0] - 1) * *x_155_ptr[0]) &amp; 1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( 2 * v24 &lt;= 444 || v25 &gt; 204 || v23 != v26 || !(v23 | v26) )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">LABEL_27</span>:<span class="code-snippet__string"></span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">((void</span> <span class="code-snippet__string">(__fastcall *)(int))(*off_C5325018)[4][21])(a1);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v27</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v28</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( !v26 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v27</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v24 &lt; 10 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v28</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v29</span> = <span class="code-snippet__string">v27 | v28;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v30</span> = <span class="code-snippet__string">v25 &gt; 65;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v31</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v32</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( 8 * v24 &lt; 23 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v31</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v24 &gt; 9 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v32</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v33</span> = <span class="code-snippet__string">(v26 != 0) &amp; (unsigned __int8)v32 ^ (v30 | v31) ^ 1 | v29 &amp; (v30 | v31);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( v33 != 1 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( !v22 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">return</span> <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">((void</span> <span class="code-snippet__string">(__fastcall *)(void **))(*off_C5325018)[4][25])((*off_C5325018)[2]);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( !v90 )</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v48</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v49</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v50</span> = <span class="code-snippet__string">*x_155_ptr[0];</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v51</span> = <span class="code-snippet__string">*y_156_ptr[0];</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( *y_156_ptr[0] &gt; 9 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v48</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v52</span> = <span class="code-snippet__string">(*x_155_ptr[0] - 1) * v50;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v17</span> = <span class="code-snippet__string">(v50 ^ v51) &lt;= 196;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v53</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v54</span> = <span class="code-snippet__string">16 * v51;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( !v17 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v53</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v54 &lt;= 260 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v49</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v55</span> = <span class="code-snippet__string">v53 | v49 | (v52 &amp; 1 | v48) ^ 1 | v48 ^ v52 &amp; 1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( !v55 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">return</span> <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v34</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v86</span> = <span class="code-snippet__string">&amp;v85;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v87</span> = <span class="code-snippet__string">v22;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v88</span> = <span class="code-snippet__string">a2;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v89</span> = <span class="code-snippet__string">v8;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v35</span> = <span class="code-snippet__string">x_155_ptr[0];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v36</span> = <span class="code-snippet__string">y_156_ptr[0];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v37</span> = <span class="code-snippet__string">off_C5325018;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( 1 )</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v39</span> = <span class="code-snippet__string">*v35;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v40</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v41</span> = <span class="code-snippet__string">*v36;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( *v36 &lt;= 410 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v40</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v42</span> = <span class="code-snippet__string">v41 ^ v39;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v43</span> = <span class="code-snippet__string">v40 | ((v41 ^ v39) &gt; 88);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v44</span> = <span class="code-snippet__string">((*v35 - 1) * v39) &amp; 1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( ((v44 == 0) | v43) != 1 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v45</span> = <span class="code-snippet__string">*v37;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v34 &gt;= (int)(*v37)[53] )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v38</span> = <span class="code-snippet__string">NewDirectByteBuffer_sub_C60E46A8(a1);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">SetObjectArrayElement_sub_C60E57B4(a1,</span> <span class="code-snippet__string">v90, v34, v38);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">(*(void</span> <span class="code-snippet__string">(__fastcall **)(int, int))(*(_DWORD *)a1 + 92))(a1, v38);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">++v34;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v46</span> = <span class="code-snippet__string">v41 &gt; 9;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v47</span> = <span class="code-snippet__string">v44 != 0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( 8 * v41 &gt;= 360 &amp;&amp; v42 &lt;= 84 &amp;&amp; v46 == v47 &amp;&amp; v47 | v46 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">goto</span> <span class="code-snippet__string">LABEL_80;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( 1 )</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">((void</span> <span class="code-snippet__string">(__fastcall *)(char *))v45[4][24])((char *)&amp;MEMORY[0xC532C1BC] + 3);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v56</span> = <span class="code-snippet__string">(*x_155_ptr[0] ^ *y_156_ptr[0]) &gt; 149 || *y_156_ptr[0] &lt;= 486;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v57</span> = <span class="code-snippet__string">((*(_BYTE *)x_155_ptr[0] - 1) * *(_BYTE *)x_155_ptr[0]) &amp; 1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v58</span> = <span class="code-snippet__string">(*y_156_ptr[0] &gt; 9) &amp; v57;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v59</span> = <span class="code-snippet__string">v58 == v56;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v58 != v56 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v59</span> = <span class="code-snippet__string">((unsigned __int8)v56 &amp; (*y_156_ptr[0] &lt; 10 || v57 == 0)) == 1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v59 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">LABEL_80</span>:<span class="code-snippet__string"></span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">((void</span> <span class="code-snippet__string">(__fastcall *)(char *))v45[4][24])((char *)&amp;MEMORY[0xC532C1BC] + 3);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v60</span> = <span class="code-snippet__string">v86;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v61</span> = <span class="code-snippet__string">v87;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v62</span> = <span class="code-snippet__string">((int (__fastcall *)(int, int *, char *, char *, int *))(*off_C5325018)[4][16])(</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">a1,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v86,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__meta">(char</span> <span class="code-snippet__string">*)&amp;MEMORY[0xC532C1E0] + 1,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__meta">(char</span> <span class="code-snippet__string">*)&amp;MEMORY[0xC532C1F8] + 3,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">&amp;makeInMemoryDexElements);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v63</span> = <span class="code-snippet__string">v89;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v62 == 1 &amp;&amp; *v60 &amp;&amp; dexElements_sub_C84EA7C0(a1, v88) != 1 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">return</span> <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v64</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v65</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v66</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v67</span> = <span class="code-snippet__string">*x_155_ptr[0];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v68</span> = <span class="code-snippet__string">*y_156_ptr[0];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( *y_156_ptr[0] &gt;= 496 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v64</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v69</span> = <span class="code-snippet__string">(*x_155_ptr[0] - 1) * v67;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v70</span> = <span class="code-snippet__string">v67 ^ v68;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v70 &lt; 60 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v65</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v71</span> = <span class="code-snippet__string">v64 ^ v65 | (v64 | v65) ^ 1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( (v69 &amp; 1) == 0 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v66</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v72</span> = <span class="code-snippet__string">v66 | (v68 &lt; 10) | v71;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( v72 != 1 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v73</span> = <span class="code-snippet__string">(*off_C5325018)[2];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( (v69 &amp; 1) != 0 &amp;&amp; v68 &gt;= 73 &amp;&amp; v70 &lt; 195 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">goto</span> <span class="code-snippet__string">LABEL_92;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( 1 )</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">(*((void</span> <span class="code-snippet__string">(__fastcall **)(void **, int))*v73 + 23))(v73, v63);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v74</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v75</span> = <span class="code-snippet__string">(*x_155_ptr[0] ^ *y_156_ptr[0]) &gt; 176 || 16 * *y_156_ptr[0] &lt; 51;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v76</span> = <span class="code-snippet__string">((*(_BYTE *)x_155_ptr[0] - 1) * *(_BYTE *)x_155_ptr[0]) &amp; 1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v77</span> = <span class="code-snippet__string">(*y_156_ptr[0] &gt; 9) &amp; v76;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v78</span> = <span class="code-snippet__string">v77 == v75;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v77 != v75 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v78</span> = <span class="code-snippet__string">((unsigned __int8)v75 &amp; (*y_156_ptr[0] &lt; 10 || v76 == 0)) == 1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v78 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">LABEL_92</span>:<span class="code-snippet__string"></span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">(*((void</span> <span class="code-snippet__string">(__fastcall **)(void **, int))*v73 + 23))(v73, v63);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v79</span> = <span class="code-snippet__string">off_C5325018;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">(*((void</span> <span class="code-snippet__string">(__fastcall **)(void **, int))*(*off_C5325018)[2] + 23))((*off_C5325018)[2], v90);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">(*((void</span> <span class="code-snippet__string">(__fastcall **)(void **, int))*(*v79)[2] + 23))((*v79)[2], v61);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v80</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v81</span> = <span class="code-snippet__string">*y_156_ptr[0];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v83</span> = <span class="code-snippet__string">((*x_155_ptr[0] - 1) * *x_155_ptr[0]) &amp; 1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( !v83 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v80</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v81 &gt; 9 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v74</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v82</span> = <span class="code-snippet__string">(*x_155_ptr[0] ^ *y_156_ptr[0]) &gt; 57 || 16 * *y_156_ptr[0] &lt; 386;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v84</span> = <span class="code-snippet__string">v82 ^ v74 &amp; v83 ^ 1 | ((v81 &lt; 10) | v80) &amp; v82;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">while</span> <span class="code-snippet__string">( v84 != 1 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">return</span> <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">}</span></span></code></pre></section><h4 data-source-line="2152" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">4.7、方法指令还原</span></h4><h6 data-source-line="2153" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">判断是否为要修复</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA04                               hook_ClassLinker_LoadMethod_sub_C52BDA04</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA04</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA04                               var_28= -0x28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA04                               var_24= -0x24</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA04                               var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA04</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA04                               ; __unwind {</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA04 F0 B5                         PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA06 03 AF                         ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA08 2D E9 00 0F                   PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA0C 83 B0                         SUB             SP, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA0E 83 46                         MOV             R11, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA10 4E 48                         LDR             R0, =(__stack_chk_guard_ptr - 0xC52BDA1A)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA12 01 AA                         ADD             R2, SP, #0x28+var_24</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA14 00 26                         MOVS            R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA16 78 44                         ADD             R0, PC        ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA18 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA1A 00 68                         LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA1C 02 90                         STR             R0, [SP,#0x28+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA1E 58 46                         MOV             R0, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA20 01 96                         STR             R6, [SP,#0x28+var_24]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA22 00 F0 A3 F8                   BL              GetMothedAddress_sub_C84B7B6C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA22</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA26 04 46                         MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA28 00 2C                         CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA2A 00 F0 82 80                   BEQ.W           loc_C52BDB32</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA2A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA2E A0 46                         MOV             R8, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA30 00 20                         MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA32 58 F8 08 5F                   LDR.W           R5, [R8,#8]!  ; Debug info</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA36 B5 F1 82 6F                   CMP.W           R5, #0x4100000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA3A C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA3C 01 20                         MOVGT           R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA3E B5 F1 40 7F                   CMP.W           R5, #0x3000000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA42 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA44 01 26                         MOVLT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA46 96 EA 00 0F                   TEQ.W           R6, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52BDA4A 72 D1                         BNE             loc_C52BDB32</span></span></code></pre></section><h6 data-source-line="2194" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">修复指令</h6><p data-source-line="2195" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">根据Debug info定位到指令，获取指令解密</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9D2                               getDecCode_sub_C20E39D2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9D2                               ; __unwind {</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9D2 F0 B5                         PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9D4 03 AF                         ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9D6 4D F8 04 8D                   PUSH.W          {R8}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9DA 80 46                         MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9DC 0C 46                         MOV             R4, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9DE D8 F8 08 10                   LDR.W           R1, [R8,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9E2 20 46                         MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9E4 88 47                         BLX             R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9E6 6F EA 40 23                   MVN.W           R3, R0,LSL#9  ; Debug info</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9EA 18 44                         ADD             R0, R3        ; Debuginfo+Debuginfo&lt;&lt;9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9EC D8 E9 00 12                   LDRD.W          R1, R2, [R8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9F0 80 EA 90 30                   EOR.W           R0, R0, R0,LSR#14</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9F4 00 EB 00 10                   ADD.W           R0, R0, R0,LSL#4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9F8 80 EA 90 26                   EOR.W           R6, R0, R0,LSR#10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9FC 50 1E                         SUBS            R0, R2, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AA9FE 30 40                         ANDS            R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA00 51 F8 20 50                   LDR.W           R5, [R1,R0,LSL#2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA04 0C E0                         B               loc_C52AAA20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA04</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA06</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA06                               loc_C52AAA06                  ; CODE XREF: getDecCode_sub_C20E39D2+50↓j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA06 28 68                         LDR             R0, [R5]      ; 取解密后指令中的Debug info</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA08 A0 42                         CMP             R0, R4        ; 判断被抽取指令与解密后指令中的Debug info是否相同</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA0A 0D D0                         BEQ             loc_C52AAA28  ; 取解密后指令地址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA0A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA0C 69 68                         LDR             R1, [R5,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA0E B1 42                         CMP             R1, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA10 05 D1                         BNE             loc_C52AAA1E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA12 D8 F8 0C 20                   LDR.W           R2, [R8,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA16 21 46                         MOV             R1, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA18 90 47                         BLX             R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA1A 01 28                         CMP             R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA1C 04 D0                         BEQ             loc_C52AAA28  ; 取解密后指令地址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA1E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA1E                               loc_C52AAA1E </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA1E ED 68                         LDR             R5, [R5,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA1E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA20                               loc_C52AAA20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA20 00 2D                         CMP             R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA22 F0 D1                         BNE             loc_C52AAA06  ; 取解密后指令中的Debug info</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA22</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA24 00 20                         MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA26 00 E0                         B               loc_C52AAA2A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA26</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA28                               loc_C52AAA28 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA28                                                             ; getDecCode_sub_C20E39D2+4A↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA28 A8 68                         LDR             R0, [R5,#8]   ; 取解密后指令地址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA2A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA2A                               loc_C52AAA2A  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA2A 5D F8 04 8B                   POP.W           {R8}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52AAA2E F0 BD                         POP             {R4-R7,PC}</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">修复指令</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F34                               ; r0:解密后方法指令,R1:方法地址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F34                               Fix_Method_sub_C2195F34  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F34</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F34                               var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F34</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F34                               ; __unwind {</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F34 F0 B5                         PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F36 03 AF                         ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F38 2D E9 00 0F                   PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F3C 81 B0                         SUB             SP, SP, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F3E 8F 4A                         LDR             R2, =(x.27_ptr - 0xC52E7F4A)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F40 00 25                         MOVS            R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F42 8F 4B                         LDR             R3, =(y.28_ptr - 0xC52E7F4C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F44 00 24                         MOVS            R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F46 7A 44                         ADD             R2, PC        ; x.27_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F48 7B 44                         ADD             R3, PC        ; y.28_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F4A 12 68                         LDR             R2, [R2]      ; x.27</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F4C 1B 68                         LDR             R3, [R3]      ; y.28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F4E 16 68                         LDR             R6, [R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F50 1A 68                         LDR             R2, [R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F52 73 1E                         SUBS            R3, R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F54 82 EA 06 0E                   EOR.W           LR, R2, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F58 03 FB 06 FC                   MUL.W           R12, R3, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F5C 13 01                         LSLS            R3, R2, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F5E A1 2B                         CMP             R3, #0xA1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F60 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F62 01 25                         MOVGT           R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F64 BE F1 6E 0F                   CMP.W           LR, #0x6E ; &#39;n&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F68 4F F0 00 06                   MOV.W           R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F6C B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F6E 01 26                         MOVLT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F70 09 2A                         CMP             R2, #9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F72 06 EA 05 06                   AND.W           R6, R6, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F76 4F F0 00 05                   MOV.W           R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F7A C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F7C 01 25                         MOVGT           R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F7E 0C F0 01 03                   AND.W           R3, R12, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F82 1D 40                         ANDS            R5, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F84 0A 2A                         CMP             R2, #0xA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F86 86 EA 05 0C                   EOR.W           R12, R6, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F8A 45 EA 06 05                   ORR.W           R5, R5, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F8E 4F F0 00 06                   MOV.W           R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F92 85 F0 01 05                   EOR.W           R5, R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F96 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F98 01 26                         MOVLT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F9A 00 2B                         CMP             R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F9C 08 BF                         IT EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7F9E 01 24                         MOVEQ           R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FA0 45 EA 0C 05                   ORR.W           R5, R5, R12</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FA4 26 43                         ORRS            R6, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FA6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FA6                               loc_C52E7FA6 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FA6 01 2D                         CMP             R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FA8 FD D1                         BNE             loc_C52E7FA6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FA8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FAA BE F1 B9 0F                   CMP.W           LR, #0xB9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FAE 4F F0 00 05                   MOV.W           R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FB2 4F F0 00 03                   MOV.W           R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FB6 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FB8 01 25                         MOVGT           R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FBA D2 00                         LSLS            R2, R2, #3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FBC E4 2A                         CMP             R2, #0xE4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FBE B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FC0 01 23                         MOVLT           R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FC2 43 EA 05 02                   ORR.W           R2, R3, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FC6 32 43                         ORRS            R2, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FC6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FC8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FC8                               loc_C52E7FC8 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FC8 01 2A                         CMP             R2, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FCA FD D1                         BNE             loc_C52E7FC8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FCA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FCC 82 68                         LDR             R2, [R0,#8]   ; 取解密后的方法指令长度</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FCE 00 2A                         CMP             R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FD0 00 F0 CE 80                   BEQ.W           loc_C52E8170</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FD0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FD4 6B 4B                         LDR             R3, =(x.27_ptr - 0xC52E7FDC)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FD6 00 22                         MOVS            R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FD8 7B 44                         ADD             R3, PC        ; x.27_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FDA 1B 68                         LDR             R3, [R3]      ; x.27</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FDC 00 93                         STR             R3, [SP,#0x20+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FDE 6A 4B                         LDR             R3, =(y.28_ptr - 0xC52E7FE4)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FE0 7B 44                         ADD             R3, PC        ; y.28_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FE2 D3 F8 00 E0                   LDR.W           LR, [R3]      ; y.28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FE2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FE6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FE6                               loc_C52E7FE6  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FE6 83 18                         ADDS            R3, R0, R2    ; base++</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FE8 93 F8 0C A0                   LDRB.W          R10, [R3,#0xC] ; 取指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FEC BA F1 00 0F                   CMP.W           R10, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FF0 67 D0                         BEQ             loc_C52E80C2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FF0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FF2 00 9B                         LDR             R3, [SP,#0x20+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FF4 00 26                         MOVS            R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FF6 DE F8 00 50                   LDR.W           R5, [LR]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FFA 1B 68                         LDR             R3, [R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FFC 09 2D                         CMP             R5, #9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E7FFE C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8000 01 26                         MOVGT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8002 AA 2D                         CMP             R5, #0xAA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8004 A3 F1 01 04                   SUB.W           R4, R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8008 85 EA 03 0C                   EOR.W           R12, R5, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E800C 4F EA C5 08                   MOV.W           R8, R5,LSL#3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8010 03 FB 04 F4                   MUL.W           R4, R3, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8014 4F F0 00 03                   MOV.W           R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8018 04 F0 01 0B                   AND.W           R11, R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E801C 86 EA 0B 04                   EOR.W           R4, R6, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8020 46 EA 0B 06                   ORR.W           R6, R6, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8024 86 F0 01 06                   EOR.W           R6, R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8028 44 EA 06 04                   ORR.W           R4, R4, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E802C 4F F0 00 06                   MOV.W           R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8030 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8032 01 26                         MOVLT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8034 BC F1 E6 0F                   CMP.W           R12, #0xE6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8038 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E803A 01 23                         MOVGT           R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E803C 0A 2D                         CMP             R5, #0xA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E803E 43 EA 06 03                   ORR.W           R3, R3, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8042 4F F0 00 06                   MOV.W           R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8046 43 EA 04 03                   ORR.W           R3, R3, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E804A 4F F0 00 04                   MOV.W           R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E804E B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8050 01 24                         MOVLT           R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8052 BB F1 00 0F                   CMP.W           R11, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8056 08 BF                         IT EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8058 01 26                         MOVEQ           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E805A 44 EA 06 09                   ORR.W           R9, R4, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E805A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E805E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E805E                               loc_C52E805E  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E805E 01 2B                         CMP             R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8060 FD D1                         BNE             loc_C52E805E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8060</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8062 BA F1 FF 0F                   CMP.W           R10, #0xFF    ; 判断指令是否为0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8066 2E D0                         BEQ             loc_C52E80C6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8066</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8068 BC F1 BF 0F                   CMP.W           R12, #0xBF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E806C 4F F0 00 04                   MOV.W           R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8070 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8072 01 24                         MOVGT           R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8074 6B 00                         LSLS            R3, R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8076 B3 F5 B2 7F                   CMP.W           R3, #0x164</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E807A 4F F0 00 06                   MOV.W           R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E807E B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8080 01 26                         MOVLT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8082 34 43                         ORRS            R4, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8084 44 EA 09 04                   ORR.W           R4, R4, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8084</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8088</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8088                               loc_C52E8088  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8088 01 2C                         CMP             R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E808A FD D1                         BNE             loc_C52E8088</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E808A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E808C BC F1 A6 0F                   CMP.W           R12, #0xA6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8090 4F F0 00 04                   MOV.W           R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8094 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8096 01 24                         MOVLT           R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8098 B3 F5 F8 7F                   CMP.W           R3, #0x1F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E809C 4F F0 00 03                   MOV.W           R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80A0 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80A2 01 23                         MOVGT           R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80A4 83 EA 04 06                   EOR.W           R6, R3, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80A8 23 43                         ORRS            R3, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80AA 83 F0 01 03                   EOR.W           R3, R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80AE 33 43                         ORRS            R3, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80B0 43 EA 09 03                   ORR.W           R3, R3, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80B0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80B4                               loc_C52E80B4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80B4 01 2B                         CMP             R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80B6 FD D1                         BNE             loc_C52E80B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80B6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80B8 BA F1 23 0F                   CMP.W           R10, #0x23 ; &#39;#&#39; ; 判断指令是否为0x23</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80BC 05 D1                         BNE             loc_C52E80CA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80BC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80BE 23 23                         MOVS            R3, #0x23 ; &#39;#&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C0 50 E0                         B               loc_C52E8164  ; 写指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C2                               loc_C52E80C2  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C2 00 23                         MOVS            R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C4 4E E0                         B               loc_C52E8164  ; 写指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C6                               loc_C52E80C6 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C6 FF 23                         MOVS            R3, #0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C8 4C E0                         B               loc_C52E8164  ; 写指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80CA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80CA                               loc_C52E80CA  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80CA BC F1 46 0F                   CMP.W           R12, #0x46 ; &#39;F&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80CE 4F F0 00 03                   MOV.W           R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80D2 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80D4 01 23                         MOVGT           R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80D6 B8 F5 FA 7F                   CMP.W           R8, #0x1F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80DA 4F F0 00 04                   MOV.W           R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80DE B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80E0 01 24                         MOVLT           R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80E2 23 43                         ORRS            R3, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80E4 43 EA 09 03                   ORR.W           R3, R3, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80E8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80E8                               loc_C52E80E8 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80E8 01 2B                         CMP             R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80EA FD D1                         BNE             loc_C52E80E8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80EA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80EC BC F1 13 0F                   CMP.W           R12, #0x13</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80F0 4F F0 00 03                   MOV.W           R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80F4 4F EA 05 14                   MOV.W           R4, R5,LSL#4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80F8 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80FA 01 23                         MOVGT           R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E80FC B4 F5 95 7F                   CMP.W           R4, #0x12A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8100 4F F0 00 04                   MOV.W           R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8104 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8106 01 24                         MOVLT           R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8108 23 43                         ORRS            R3, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E810A 43 EA 09 03                   ORR.W           R3, R3, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E810A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E810E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E810E                               loc_C52E810E </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E810E 01 2B                         CMP             R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8110 FD D1                         BNE             loc_C52E810E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8110</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8112 BA F1 DC 0F                   CMP.W           R10, #0xDC    ; 判断指令是否为0xDC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8116 01 D1                         BNE             loc_C52E811C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8116</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8118 DC 23                         MOVS            R3, #0xDC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E811A 23 E0                         B               loc_C52E8164  ; 写指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E811A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E811C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E811C                               loc_C52E811C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E811C B8 F1 71 0F                   CMP.W           R8, #0x71 ; &#39;q&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8120 4F F0 00 03                   MOV.W           R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8124 C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8126 01 23                         MOVGT           R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8128 BC F1 D8 0F                   CMP.W           R12, #0xD8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E812C 4F F0 00 06                   MOV.W           R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8130 B8 BF                         IT LT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8132 01 26                         MOVLT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8134 09 2D                         CMP             R5, #9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8136 03 EA 06 03                   AND.W           R3, R3, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E813A 4F F0 00 06                   MOV.W           R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E813E C8 BF                         IT GT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8140 01 26                         MOVGT           R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8142 BB F1 00 0F                   CMP.W           R11, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8146 18 BF                         IT NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8148 4F F0 01 0B                   MOVNE.W         R11, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E814C 06 EA 0B 06                   AND.W           R6, R6, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8150 83 EA 06 05                   EOR.W           R5, R3, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8154 33 43                         ORRS            R3, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8156 83 F0 01 03                   EOR.W           R3, R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E815A 2B 43                         ORRS            R3, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E815A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E815C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E815C                               loc_C52E815C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E815C 01 2B                         CMP             R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E815E FD D1                         BNE             loc_C52E815C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E815E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8160 6F EA 0A 03                   MVN.W           R3, R10       ; 解密指令 R10按位取反</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8160</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8164</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8164                               loc_C52E8164 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8164 8B 54                         STRB            R3, [R1,R2]   ; 写指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8166 01 32                         ADDS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8168 83 68                         LDR             R3, [R0,#8]   ; 取指令长度</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E816A 9A 42                         CMP             R2, R3        ; 判断是否结束</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E816C FF F4 3B AF                   BCC.W           loc_C52E7FE6  ; base++</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E816C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8170</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8170                               loc_C52E8170 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8170 01 20                         MOVS            R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8172 01 B0                         ADD             SP, SP, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8174 BD E8 00 0F                   POP.W           {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text&amp;ARM.extab:C52E8178 F0 BD                         POP             {R4-R7,PC}</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">被抽走后的指令存储格式：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">6C</span> <span class="code-snippet__string">C6 FF 03   37 1E 38 00  08 00 00 00   xxxxxxx</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">Debug</span> <span class="code-snippet__string">info                 指令长度      指令</span></span></code></pre></section><h3 data-source-line="2542" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">五、Native原理分析</span></h3><p data-source-line="2543" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">主要是通过解析smali代码进行了通过JNI反射调用等价的语义转换,转为了C代码，执行时通过FindClass、GetStaticMethodID、GetMethodID、CallxxxMethod。<br style="box-sizing: border-box;"/>我是通过JNItrace来分析，如图5-1所示：</p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.6074240719910011" data-s="300,640" style="" data-type="jpeg" data-w="889" src="https://wechat2rss.xlab.app/img-proxy/?k=2b6537d4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVIicxXj8FffLn8Q3pMvMb9whIJFncHAUD2jg70T5BmxvLsw0C5micMtH7UeHWs1UBu2un0BO8jE54A%2F640%3Fwx_fmt%3Djpeg"/></p><p>                        图5-1<br/></p><h3 data-source-line="2547" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(0, 209, 0);">六、总结</span></h3><p data-source-line="2548" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">壳整体是指令抽取加方法native化二者结合，所有被抽走的指令还原后dump出来也能分析出80%左右的代码，其它被native化的用JNItrace配合分析，所以用该加固方案客户端代码安全性一般。接下来就可以继续进行APP渗透分析。</p>



<p><a href="2247484063">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=a98162d2&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247484063%26idx%3D1%26sn%3D4ded5b0e9728d9f66c5a3e85814adbde%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sat, 09 Apr 2022 12:30:00 +0800</pubDate>
    </item>
    <item>
      <title>App防Bot新版AliTigerTally方案浅析与算法还原二</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247484043&amp;idx=1&amp;sn=92f0f15cd5ff3d439fc582a611937c6f</link>
      <description>App防护提供的SDK安全方案解决以下原生App端的安全问题：&#xA;恶意注册、撞库&#xA;短信、验证码接口被刷&#xA;薅羊毛、抢红包&#xA;恶意秒杀限时限购商品&#xA;恶意查票、刷票（例如，机票、酒店等场景）&#xA;价值资讯爬取（例如，价格、征信、融资、小说等内容）</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-12-24 12:10</span> <span style="display: inline-block;"></span>
</p>

<p>App防护提供的SDK安全方案解决以下原生App端的安全问题：</p>
<p>恶意注册、撞库</p>
<p>短信、验证码接口被刷</p>
<p>薅羊毛、抢红包</p>
<p>恶意秒杀限时限购商品</p>
<p>恶意查票、刷票（例如，机票、酒店等场景）</p>
<p>价值资讯爬取（例如，价格、征信、融资、小说等内容）</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=9ffcb9f1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibV3OzqrO8KBvmKmS9tj4HOKpTAs7ZkvMGVqXM55m60NpBsxUs0WdqsbGRcYUMhJsN1gpF2cWHHbOw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<h3 data-source-line="3101" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.5em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;color: rgb(0, 0, 0);">本文仅限学习交流，请勿用于非法以及商业用途，由于时间和水平有限，文中错漏之处在所难免，敬请各位大佬多多批评指正。</span></h3><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">目录:</span></code><code><span class="code-snippet_outer">一、产品概述</span></code><code><span class="code-snippet_outer">1<span class="code-snippet__selector-class">.1</span>、<span class="code-snippet__selector-tag">App</span>端防护能决哪些安全问题</span></code><code><span class="code-snippet_outer">1<span class="code-snippet__selector-class">.2</span>、如何为应用开启<span class="code-snippet__selector-tag">App</span>防护</span></code><code><span class="code-snippet_outer">二、产品整体框架</span></code><code><span class="code-snippet_outer">三、初始化逻辑</span></code><code><span class="code-snippet_outer">四、环境检测与设备指纹</span></code><code><span class="code-snippet_outer">五、签名流程</span></code><code><span class="code-snippet_outer">六、算法还原</span></code><code><span class="code-snippet_outer">七、总结</span></code></pre></section><p><span style="color: rgb(61, 167, 66);font-size: 15px;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 15px;text-align: start;"></span></span><br/></p><h3 data-source-line="3101" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.5em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(61, 167, 66);font-size: 15px;">五、签名流程</span></h3><h4 data-source-line="3102" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.25em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(61, 167, 66);font-size: 15px;">5.1、整体流程</span></h4><h6 data-source-line="3103" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;">签名请求数据接口定义：</span></h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer"><span style="font-size: 15px;">String vmpSign(int signType, byte[] input);</span></span></code></pre></section><p data-source-line="3107" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">功能：对输入的数据进行签名，并且返回签名串。<br style="box-sizing: border-box;"/>接口参数：<br style="box-sizing: border-box;"/>&lt;signType&gt;：int类型，取值固定为1，表示默认的签名算法。<br style="box-sizing: border-box;"/>&lt;input&gt;：byte[]类型，表示待签名的数据。<br style="box-sizing: border-box;"/>待签名数据一般是整个请求体（RequestBody）。<br style="box-sizing: border-box;"/>如果请求体为空（例如，POST请求的Body为空或者使用了GET请求），则设置成空对象（null）或者空字符串的Bytes值（例如，&#34;&#34;.getBytes(&#34;UTF-8&#34;)）。<br style="box-sizing: border-box;"/>返回值：String类型，返回签名串。<br style="box-sizing: border-box;"/></span></p><h6 data-source-line="3113" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;">签名流程:</span></h6><p data-source-line="3114" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">请求体签名过程如图5-1所示：</span></p><p style="white-space: normal;text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="2.50703125" data-s="300,640" data-w="1280" data-type="png" src="https://wechat2rss.xlab.app/img-proxy/?k=1ee1b9f4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibV3OzqrO8KBvmKmS9tj4HOKWENXWGkJxEicJ3hLWLYN6rJgfW0R54uziaGCdvI6QFjGjlrP5JJibSv4g%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 24px;margin-bottom: 16px;font-size: 1em;white-space: normal;box-sizing: border-box;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;">                        图5-1<br/></span></p><h4 data-source-line="3117" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.25em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;color: rgb(61, 167, 66);">5.2、组合请求体与签名</span></h4><h6 data-source-line="3118" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;">获取要签名的请求体数据:</span></h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AF8             getbody_sub_CDEF3AF8 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AF8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AF8             var_30= -0x30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AF8             var_28= -0x28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AF8             var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AF8             var_1C= -0x1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AF8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AF8             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AF8 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AFA 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7AFC 2D E9 00 07 PUSH.W          {R8-R10}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B00 86 B0       SUB             SP, SP, #0x18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B02 81 46       MOV             R9, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B04 35 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC70B7B0E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B06 0C 46       MOV             R4, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B08 16 46       MOV             R6, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B0A 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B0C 00 2C       CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B0E 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B10 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B12 05 90       STR             R0, [SP,#0x30+var_1C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B14 2E D0       BEQ             loc_C70B7B74</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B16 6E B3       CBZ             R6, loc_C70B7B74</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B18 20 68       LDR             R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B1A 31 46       MOV             R1, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B1C D0 F8 AC 22 LDR.W           R2, [R0,#0x2AC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B20 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B22 90 47       BLX             R2                      ; GetArrayLength</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B24 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B26 68 1C       ADDS            R0, R5, #1              ; size</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B28 F1 F7 D6 ED BLX             malloc</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B2C 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B2E B8 F1 00 0F CMP.W           R8, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B32 1F D0       BEQ             loc_C70B7B74</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B34 20 68       LDR             R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B36 31 46       MOV             R1, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B38 00 22       MOVS            R2, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B3A 2B 46       MOV             R3, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B3C 4F F0 00 0A MOV.W           R10, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B40 D0 F8 20 C3 LDR.W           R12, [R0,#0x320]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B44 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B46 CD F8 00 80 STR.W           R8, [SP,#0x30+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B4A E0 47       BLX             R12                     ; GetByteArrayRegion,获取请求体</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B4C 15 F1 10 0F CMN.W           R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B50 08 F8 05 A0 STRB.W          R10, [R8,R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B54 CD F8 10 A0 STR.W           R10, [SP,#0x30+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B58 CD E9 02 AA STRD.W          R10, R10, [SP,#0x30+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B5C 3B D2       BCS             loc_C70B7BD6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B5E 0B 2D       CMP             R5, #0xB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B60 10 D2       BCS             loc_C70B7B84</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B62 68 00       LSLS            R0, R5, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B64 00 2D       CMP             R5, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B66 8D F8 08 00 STRB.W          R0, [SP,#0x30+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B6A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B6A             loc_C70B7B6A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B6A 02 A8       ADD             R0, SP, #0x30+var_28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B6C 40 F0 01 04 ORR.W           R4, R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B70 15 D1       BNE             loc_C70B7B9E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B72 19 E0       B               loc_C70B7BA8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B74</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B74             loc_C70B7B74</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B74 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B76 C9 F8 00 00 STR.W           R0, [R9]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B7A C9 F8 04 00 STR.W           R0, [R9,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B7E C9 F8 08 00 STR.W           R0, [R9,#8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B82 1B E0       B               loc_C70B7BBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B84</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B84             loc_C70B7B84 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B84 05 F1 10 00 ADD.W           R0, R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B88 20 F0 0F 06 BIC.W           R6, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B8C 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B8E 93 F0 7B FC BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B92 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B94 46 F0 01 00 ORR.W           R0, R6, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B98 04 94       STR             R4, [SP,#0x30+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B9A CD E9 02 05 STRD.W          R0, R5, [SP,#0x30+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B9E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B9E             loc_C70B7B9E </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7B9E 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BA0 41 46       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BA2 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BA4 F1 F7 D4 ED BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BA8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BA8             loc_C70B7BA8 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BA8 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BAA 60 55       STRB            R0, [R4,R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BAC 40 46       MOV             R0, R8                  ; ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BAE F1 F7 D6 ED BLX             free</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BB2 02 A8       ADD             R0, SP, #0x30+var_28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BB4 90 E8 0E 00 LDM.W           R0, {R1-R3}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BB8 89 E8 0E 00 STM.W           R9, {R1-R3}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70B7BBC</span></span></code></pre></section><p style="margin-top: 24px;margin-bottom: 16px;font-size: 1em;white-space: normal;box-sizing: border-box;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(106, 115, 125);font-size: 15px;">进入签名主函数</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             vmpsing_sub_CDF526C8 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_A4= -0xA4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_A0= -0xA0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_9C= -0x9C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_98= -0x98</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_94= -0x94</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_90= -0x90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_8C= -0x8C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_88= -0x88</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_84= -0x84</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_80= -0x80</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_7C= -0x7C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_78= -0x78</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_74= -0x74</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_70= -0x70</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_6C= -0x6C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_68= -0x68</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_64= -0x64</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_60= -0x60</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_5C= -0x5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_58= -0x58</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_54= -0x54</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_50= -0x50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_4C= -0x4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_48= -0x48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_44= -0x44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_40= -0x40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_3C= -0x3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_34= -0x34</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_24= -0x24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             var_1C= -0x1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166C8 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166CA 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166CC 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166D0 A3 B0       SUB             SP, SP, #0x8C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166D2 6C 46       MOV             R4, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166D4 6F F3 03 04 BFC.W           R4, #0, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166D8 A5 46       MOV             SP, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166DA 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166DC 59 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC71166E6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166DE 91 46       MOV             R9, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166E0 0D 46       MOV             R5, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166E2 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166E4 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166E6 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166E8 22 90       STR             R0, [SP,#0xA8+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166EA F9 F7 9D F9 BL              DecString_loc_C5D9FA28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166EE 56 48       LDR             R0, =(off_C719AEA0 - 0xC71166F8)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166F0 56 49       LDR             R1, =(off_C719AEA4 - 0xC71166FC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166F2 57 4A       LDR             R2, =(off_C719AEA8 - 0xC7116702)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166F4 78 44       ADD             R0, PC                  ; off_C719AEA0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166F6 57 4B       LDR             R3, =(off_C719AEAC - 0xC7116708)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166F8 79 44       ADD             R1, PC                  ; off_C719AEA4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166FA DF F8 5C C1 LDR.W           R12, =(off_C719AEB0 - 0xC711670A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71166FE 7A 44       ADD             R2, PC                  ; off_C719AEA8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116700 DF F8 58 E1 LDR.W           LR, =(off_C719AEB4 - 0xC7116710)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116704 7B 44       ADD             R3, PC                  ; off_C719AEAC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116706 FC 44       ADD             R12, PC                 ; off_C719AEB0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116708 DF F8 54 81 LDR.W           R8, =(off_C719AEB8 - 0xC7116716)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711670C FE 44       ADD             LR, PC                  ; off_C719AEB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711670E 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116710 09 68       LDR             R1, [R1]                ; unk_DC0C5BCB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116712 F8 44       ADD             R8, PC                  ; off_C719AEB8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116714 12 68       LDR             R2, [R2]                ; unk_19559DFE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116716 1B 68       LDR             R3, [R3]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116718 DC F8 00 40 LDR.W           R4, [R12]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711671C 02 95       STR             R5, [SP,#0xA8+var_A0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711671E DE F8 00 50 LDR.W           R5, [LR]                ; unk_E10C62D9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116722 01 96       STR             R6, [SP,#0xA8+var_A4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116724 4F 4E       LDR             R6, =(off_C719AEBC - 0xC711672E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116726 D8 F8 00 C0 LDR.W           R12, [R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711672A 7E 44       ADD             R6, PC                  ; off_C719AEBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711672C CD F8 0C 90 STR.W           R9, [SP,#0xA8+var_9C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116730 36 68       LDR             R6, [R6]                ; unk_D748D587</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116732 04 90       STR             R0, [SP,#0xA8+var_98]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116734 4C 48       LDR             R0, =(off_C719AEC0 - 0xC711673A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116736 78 44       ADD             R0, PC                  ; off_C719AEC0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116738 D0 F8 00 E0 LDR.W           LR, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711673C 05 91       STR             R1, [SP,#0xA8+var_94]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711673E 4B 49       LDR             R1, =(off_C719AEC4 - 0xC7116746)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116740 4F 48       LDR             R0, =(off_C719AED8 - 0xC7116748)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116742 79 44       ADD             R1, PC                  ; off_C719AEC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116744 78 44       ADD             R0, PC                  ; off_C719AED8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116746 09 68       LDR             R1, [R1]                ; unk_DB4E0EF9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116748 06 92       STR             R2, [SP,#0xA8+var_90]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711674A 49 4A       LDR             R2, =(off_C719AEC8 - 0xC7116750)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711674C 7A 44       ADD             R2, PC                  ; off_C719AEC8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711674E 12 68       LDR             R2, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116750 07 93       STR             R3, [SP,#0xA8+var_8C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116752 48 4B       LDR             R3, =(off_C719AECC - 0xC7116758)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116754 7B 44       ADD             R3, PC                  ; off_C719AECC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116756 1B 68       LDR             R3, [R3]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116758 08 94       STR             R4, [SP,#0xA8+var_88]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711675A 47 4C       LDR             R4, =(off_C719AED0 - 0xC7116760)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711675C 7C 44       ADD             R4, PC                  ; off_C719AED0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711675E 24 68       LDR             R4, [R4]                ; unk_1BDC845B</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116760 09 95       STR             R5, [SP,#0xA8+var_84]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116762 46 4D       LDR             R5, =(off_C719AED4 - 0xC7116768)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116764 7D 44       ADD             R5, PC                  ; off_C719AED4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116766 2D 68       LDR             R5, [R5]                ; unk_2A21A091</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116768 CD F8 28 C0 STR.W           R12, [SP,#0xA8+var_80]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711676C D0 F8 00 C0 LDR.W           R12, [R0]               ; unk_F0F4C315</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116770 0B 96       STR             R6, [SP,#0xA8+var_7C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116772 44 4E       LDR             R6, =(off_C719AEDC - 0xC711677A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116774 44 48       LDR             R0, =(off_C719AEE0 - 0xC711677C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116776 7E 44       ADD             R6, PC                  ; off_C719AEDC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116778 78 44       ADD             R0, PC                  ; off_C719AEE0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711677A 36 68       LDR             R6, [R6]                ; unk_15F9058B</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711677C CD F8 30 E0 STR.W           LR, [SP,#0xA8+var_78]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116780 D0 F8 00 E0 LDR.W           LR, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116784 0D 91       STR             R1, [SP,#0xA8+var_74]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116786 41 49       LDR             R1, =(off_C719AEE4 - 0xC711678E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116788 45 48       LDR             R0, =(off_C719AEF8 - 0xC7116790)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711678A 79 44       ADD             R1, PC                  ; off_C719AEE4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711678C 78 44       ADD             R0, PC                  ; off_C719AEF8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711678E 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116790 0E 92       STR             R2, [SP,#0xA8+var_70]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116792 3F 4A       LDR             R2, =(off_C719AEE8 - 0xC7116798)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116794 7A 44       ADD             R2, PC                  ; off_C719AEE8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116796 D2 F8 00 80 LDR.W           R8, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711679A 0F 93       STR             R3, [SP,#0xA8+var_6C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711679C 3D 4B       LDR             R3, =(off_C719AEEC - 0xC71167A2)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711679E 7B 44       ADD             R3, PC                  ; off_C719AEEC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167A0 D3 F8 00 90 LDR.W           R9, [R3]                ; unk_E618CE8B</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167A4 10 94       STR             R4, [SP,#0xA8+var_68]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167A6 3C 4C       LDR             R4, =(off_C719AEF0 - 0xC71167AC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167A8 7C 44       ADD             R4, PC                  ; off_C719AEF0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167AA D4 F8 00 A0 LDR.W           R10, [R4]               ; unk_1C361051</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167AE 11 95       STR             R5, [SP,#0xA8+var_64]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167B0 3A 4D       LDR             R5, =(off_C719AEF4 - 0xC71167B6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167B2 7D 44       ADD             R5, PC                  ; off_C719AEF4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167B4 D5 F8 00 B0 LDR.W           R11, [R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167B8 CD F8 48 C0 STR.W           R12, [SP,#0xA8+var_60]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167BC D0 F8 00 C0 LDR.W           R12, [R0]               ; unk_EC9A6DA7</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167C0 13 96       STR             R6, [SP,#0xA8+var_5C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167C2 38 4E       LDR             R6, =(off_C719AEFC - 0xC71167CA)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167C4 38 48       LDR             R0, =(off_C719AF00 - 0xC71167CC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167C6 7E 44       ADD             R6, PC                  ; off_C719AEFC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167C8 78 44       ADD             R0, PC                  ; off_C719AF00</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167CA 36 68       LDR             R6, [R6]                ; unk_DDD3C1D1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167CC CD F8 50 E0 STR.W           LR, [SP,#0xA8+var_58]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167D0 D0 F8 00 E0 LDR.W           LR, [R0]                ; unk_320DA0F5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167D4 15 91       STR             R1, [SP,#0xA8+var_54]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167D6 35 49       LDR             R1, =(off_C719AF04 - 0xC71167DC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167D8 79 44       ADD             R1, PC                  ; off_C719AF04</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167DA 0A 68       LDR             R2, [R1]                ; unk_2C6D8FB1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167DC 34 49       LDR             R1, =(off_C719AF08 - 0xC71167E6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167DE CD F8 58 80 STR.W           R8, [SP,#0xA8+var_50]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167E2 79 44       ADD             R1, PC                  ; off_C719AF08</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167E4 0B 68       LDR             R3, [R1]                ; unk_1BABC103</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167E6 33 49       LDR             R1, =(off_C719AF0C - 0xC71167F0)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167E8 CD F8 5C 90 STR.W           R9, [SP,#0xA8+var_4C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167EC 79 44       ADD             R1, PC                  ; off_C719AF0C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167EE 0C 68       LDR             R4, [R1]                ; unk_EEFDC92D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167F0 31 49       LDR             R1, =(off_C719AF10 - 0xC71167FA)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167F2 CD F8 60 A0 STR.W           R10, [SP,#0xA8+var_48]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167F6 79 44       ADD             R1, PC                  ; off_C719AF10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167F8 0D 68       LDR             R5, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167FA 30 49       LDR             R1, =(off_C719AF14 - 0xC7116804)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71167FC CD F8 64 B0 STR.W           R11, [SP,#0xA8+var_44]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116800 79 44       ADD             R1, PC                  ; off_C719AF14</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116802 08 68       LDR             R0, [R1]                ; unk_FFC5974B</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116804 2E 49       LDR             R1, =(off_C719AF18 - 0xC7116812)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116806 CD F8 68 C0 STR.W           R12, [SP,#0xA8+var_40]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711680A 0D F1 74 0C ADD.W           R12, SP, #0xA8+var_34</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711680E 79 44       ADD             R1, PC                  ; off_C719AF18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116810 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116812 CD E9 1B 6E STRD.W          R6, LR, [SP,#0xA8+var_3C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116816 8C E8 3C 00 STM.W           R12, {R2-R5}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711681A 6A 46       MOV             R2, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711681C 21 90       STR             R0, [SP,#0xA8+var_24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711681E 4F F4 AA 60 MOV.W           R0, #0x550</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116822 F9 F7 AF FD BL              VM_Entrance_loc_CDF4C384 ; R:传入不同数字代走不同逻辑</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116826 27 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC711682E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116828 22 99       LDR             R1, [SP,#0xA8+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711682A 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711682C 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711682E 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116830 40 1A       SUBS            R0, R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116832 01 BF       ITTTT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116834 A7 F1 1C 04 SUBEQ.W         R4, R7, #-var_1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7116838 A5 46       MOVEQ           SP, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711683A BD E8 00 0F POPEQ.W         {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711683E F0 BD       POPEQ           {R4-R7,PC}</span></span></code></pre></section><p style="margin-top: 24px;margin-bottom: 16px;font-size: 1em;white-space: normal;box-sizing: border-box;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(106, 115, 125);font-size: 15px;">组合数据</span></p><p data-source-line="3405" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">生成随机数</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161304             sub_C7161304 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161304 D0 B5       PUSH            {R4,R6,R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161306 00 22       MOVS            R2, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161308 0E 4B       LDR             R3, =0x3DF00000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C716130A 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C716130C 0F 46       MOV             R7, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C716130E 00 F0 4F F9 BL              sub_C71615B0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161312 00 F0 5F FB BL              sub_C71619D4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161316 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161318 FF F7 08 FE BL              sub_C7160F2C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C716131C 00 22       MOVS            R2, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C716131E 0A 4B       LDR             R3, =0x41F00000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161320 00 F0 46 F9 BL              sub_C71615B0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161324 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161326 0B 46       MOV             R3, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161328 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C716132A 39 46       MOV             R1, R7</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C716132C FF F7 C0 FC BL              sub_C7160CB0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161330 00 F0 50 FB BL              sub_C71619D4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161334 00 22       MOVS            R2, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161336 23 46       MOV             R3, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161338 42 EA 00 02 ORR.W           R2, R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C716133C 10 46       MOV             R0, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C716133E 19 46       MOV             R1, R3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7161340 D0 BD       POP             {R4,R6,R7,PC}</span></span></code></pre></section><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer"><span style="font-size: 15px;">7DD6CFBE50</span></span></code></pre></section><p style="margin-top: 24px;margin-bottom: 16px;font-size: 1em;white-space: normal;box-sizing: border-box;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;">请求体+服务器返回设备指纹+设备风险+crc+随机数</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             ; 组合数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             getbody_crc_sub_CDA4AE44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             ; __unwind { // C7149914</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E46 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E48 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E4C A5 B0       SUB             SP, SP, #0x94</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E4E 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E50 DF F8 F8 06 LDR.W           R0, =(__stack_chk_guard_ptr - 0xC7112E5C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E54 92 46       MOV             R10, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E56 8B 46       MOV             R11, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E58 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E5A 00 2B       CMP             R3, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E5C 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E5E 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E60 24 90       STR             R0, [SP,#0xB0+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E62 4F F6 DF 20+MOV             R0, #0xFADFFADF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E62 CF F6 DF 20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E6A 0C 90       STR             R0, [SP,#0xB0+var_80]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E6C 4F F0 01 00 MOV.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E70 14 90       STR             R0, [SP,#0xB0+var_60]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E72 23 D0       BEQ             loc_C7112EBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E74 DF F8 D8 06 LDR.W           R0, =(dword_C71A03A4 - 0xC7112E88)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E78 0B F1 1C 05 ADD.W           R5, R11, #0x1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E7C DF F8 D4 16 LDR.W           R1, =(dword_C71A97EC - 0xC7112E8C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E80 DF F8 D4 26 LDR.W           R2, =(dword_C71A03A8 - 0xC7112E8E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E84 78 44       ADD             R0, PC                  ; dword_C71A03A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E86 05 93       STR             R3, [SP,#0xB0+var_9C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E88 79 44       ADD             R1, PC                  ; dword_C71A97EC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E8A 7A 44       ADD             R2, PC                  ; dword_C71A03A8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E8C 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E8E 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E90 10 68       LDR             R0, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E92 41 B9       CBNZ            R1, loc_C7112EA6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E94 4A F6 EA 41 MOVW            R1, #0xACEA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E98 00 F0 84 FC BL              getFunc_loc_CDFDB7A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E9C 01 46       MOV             R1, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E9E DF F8 BC 06 LDR.W           R0, =(dword_C71A97EC - 0xC7112EA6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA2 78 44       ADD             R0, PC                  ; dword_C71A97EC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA4 01 60       STR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA6             loc_C7112EA6 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA6 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA8 88 47       BLX             R1                      ; pthread_mutex_lock</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EAA 5C 46       MOV             R4, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EAC 14 F8 20 0F LDRB.W          R0, [R4,#0x20]!</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EB0 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EB4 19 D1       BNE             loc_C7112EEA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EB6 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EB8 20 80       STRH            R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBA 1C E0       B               loc_C7112EF6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBC             loc_C7112EBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBC 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBE C8 E9 00 00 STRD.W          R0, R0, [R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EC2 C8 F8 08 00 STR.W           R0, [R8,#8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EC6 00 20       MOVS            R0, #0                  ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EC8 96 F7 D6 EB BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ECC 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ECE 14 F1 10 0F CMN.W           R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ED2 80 F0 08 83 BCS.W           loc_C71134E6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ED6 0B 2C       CMP             R4, #0xB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ED8 80 F0 74 81 BCS.W           loc_C71131C4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EDC 60 00       LSLS            R0, R4, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EDE 00 2C       CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EE0 08 F8 01 0B STRB.W          R0, [R8],#1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EE4 40 F0 7C 81 BNE.W           loc_C71131E0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EE8 7F E1       B               loc_C71131EA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EEA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EEA             loc_C7112EEA </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EEA DB F8 28 00 LDR.W           R0, [R11,#0x28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EEE 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF0 01 70       STRB            R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF2 CB F8 24 10 STR.W           R1, [R11,#0x24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF6             loc_C7112EF6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF6 DF F8 68 06 LDR.W           R0, =(dword_C71A03AC - 0xC7112F06)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EFA DF F8 68 16 LDR.W           R1, =(dword_C71A97F0 - 0xC7112F08)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EFE DF F8 68 36 LDR.W           R3, =(off_C71A03B0 - 0xC7112F0A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F02 78 44       ADD             R0, PC                  ; dword_C71A03AC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F04 79 44       ADD             R1, PC                  ; dword_C71A97F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F06 7B 44       ADD             R3, PC                  ; off_C71A03B0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F08 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F0A 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F0C 19 68       LDR             R1, [R3]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F0E 32 B9       CBNZ            R2, loc_C7112F1E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F10 00 F0 48 FC BL              getFunc_loc_CDFDB7A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F14 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F16 DF F8 54 06 LDR.W           R0, =(dword_C71A97F0 - 0xC7112F1E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1A 78 44       ADD             R0, PC                  ; dword_C71A97F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1C 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1E             loc_C7112F1E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1E 06 95       STR             R5, [SP,#0xB0+var_98]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F20 90 47       BLX             R2                      ; pthread_mutex_lock</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F22 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F24 DF F8 48 06 LDR.W           R0, =(dword_C71A97F4 - 0xC7112F34)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F28 DF F8 48 16 LDR.W           R1, =(dword_C71A03B4 - 0xC7112F36)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F2C 05 F1 24 06 ADD.W           R6, R5, #0x24 ; &#39;$&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F30 78 44       ADD             R0, PC                  ; dword_C71A97F4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F32 79 44       ADD             R1, PC                  ; dword_C71A03B4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F34 02 68       LDR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F36 08 68       LDR             R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F38 42 B9       CBNZ            R2, loc_C7112F4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F3A 4C F6 D1 11 MOVW            R1, #0xC9D1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F3E 00 F0 31 FC BL              getFunc_loc_CDFDB7A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F42 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F44 DF F8 30 06 LDR.W           R0, =(dword_C71A97F4 - 0xC7112F4C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F48             loc_C7112F48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F48 78 44       ADD             R0, PC </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F4A 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F4C             loc_C7112F4C </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F4C 0D F1 38 09 ADD.W           R9, SP, #0xB0+var_78</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F50 31 46       MOV             R1, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F52 48 46       MOV             R0, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F54 90 47       BLX             R2                      ; 第二步服务器返回base64解密后的值</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F56 05 F1 0C 01 ADD.W           R1, R5, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F5A 11 A8       ADD             R0, SP, #0xB0+var_6C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F5C 9F F7 5E FA BL              memory_cpy_sub_CF0FF41C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F60 DB E9 32 56 LDRD.W          R5, R6, [R11,#0xC8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F64 DB E9 38 01 LDRD.W          R0, R1, [R11,#0xE0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F68 08 1A       SUBS            R0, R1, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F6A 59 46       MOV             R1, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F6C 80 10       ASRS            R0, R0, #2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F6E 0D 90       STR             R0, [SP,#0xB0+var_7C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F70 11 F8 0C 0F LDRB.W          R0, [R1,#0xC]!</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F74 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F78 0C BF       ITE EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F7A 40 08       LSREQ           R0, R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F7C DB F8 10 00 LDRNE.W         R0, [R11,#0x10]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F80 04 90       STR             R0, [SP,#0xB0+var_A0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F82 9B F8 00 00 LDRB.W          R0, [R11]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F86 01 91       STR             R1, [SP,#0xB0+var_AC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F88 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F8C 0C BF       ITE EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F8E 40 08       LSREQ           R0, R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F90 DB F8 04 00 LDRNE.W         R0, [R11,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F94 03 90       STR             R0, [SP,#0xB0+var_A4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F96 0C A9       ADD             R1, SP, #0xB0+var_80</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F98 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F9A 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F9C CD F8 08 80 STR.W           R8, [SP,#0xB0+var_A8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FA0 A0 F7 3F FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FA4 14 A9       ADD             R1, SP, #0xB0+var_60</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FA6 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FA8 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FAA A0 F7 3A FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FAE 70 1B       SUBS            R0, R6, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FB0 81 10       ASRS            R1, R0, #2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FB2 0D 98       LDR             R0, [SP,#0xB0+var_7C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FB4 0A 91       STR             R1, [SP,#0xB0+var_88]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FB6 08 44       ADD             R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FB8 1B 90       STR             R0, [SP,#0xB0+var_44]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FBA 0B F5 84 71 ADD.W           R1, R11, #0x108</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FBE 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FC0 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FC2 A0 F7 2E FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FC6 0B F5 86 78 ADD.W           R8, R11, #0x10C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FCA 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FCC 41 46       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FCE 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FD0 A0 F7 27 FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FD4 BA F1 01 0F CMP.W           R10, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FD8 11 D1       BNE             loc_C7112FFE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FDA 0B F5 88 71 ADD.W           R1, R11, #0x110</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FDE 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FE0 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FE2 A0 F7 1E FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FE6 0B F5 8A 71 ADD.W           R1, R11, #0x114</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FEA 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FEC 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FEE A0 F7 18 FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FF2 1B A9       ADD             R1, SP, #0xB0+var_44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FF4 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FF6 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FF8 A0 F7 13 FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FFC 11 E0       B               loc_C7113022</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FFE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FFE             loc_C7112FFE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FFE 02 25       MOVS            R5, #2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113000 18 95       STR             R5, [SP,#0xB0+var_50]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113002 18 A9       ADD             R1, SP, #0xB0+var_50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113004 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113006 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113008 A0 F7 0B FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711300C 18 95       STR             R5, [SP,#0xB0+var_50]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711300E 18 A9       ADD             R1, SP, #0xB0+var_50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113010 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113012 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113014 A0 F7 05 FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113018 0D A9       ADD             R1, SP, #0xB0+var_7C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711301A 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711301C 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711301E A0 F7 00 FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113022</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113022             loc_C7113022</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113022 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113024 1C 90       STR             R0, [SP,#0xB0+crc]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113026 1C A9       ADD             R1, SP, #0xB0+crc</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113028 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711302A 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711302C A0 F7 F9 FB BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113030 0B F1 2C 01 ADD.W           R1, R11, #0x2C ; &#39;,&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113034 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113036 07 22       MOVS            R2, #7</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113038 A0 F7 F3 FB BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711303C 9D F8 38 10 LDRB.W          R1, [SP,#0xB0+var_78]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113040 0F 98       LDR             R0, [SP,#0xB0+var_74]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113042 11 F0 01 0F TST.W           R1, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113046 08 BF       IT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113048 48 08       LSREQ           R0, R1, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711304A 1D 90       STR             R0, [SP,#0xB0+var_3C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711304C 1D A9       ADD             R1, SP, #0xB0+var_3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711304E 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113050 01 22       MOVS            R2, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113052 A0 F7 E6 FB BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113056 1D 9A       LDR             R2, [SP,#0xB0+var_3C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113058 52 B1       CBZ             R2, loc_C7113070</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711305A 9D F8 38 00 LDRB.W          R0, [SP,#0xB0+var_78]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711305E 10 99       LDR             R1, [SP,#0xB0+var_70]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113060 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113064 08 BF       IT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113066 49 F0 01 01 ORREQ.W         R1, R9, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711306A 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711306C A0 F7 D9 FB BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113070</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113070             loc_C7113070</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113070 0B F1 34 01 ADD.W           R1, R11, #0x34 ; &#39;4&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113074 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113076 02 22       MOVS            R2, #2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113078 A0 F7 D3 FB BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711307C 58 46       MOV             R0, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711307E 10 F8 38 1F LDRB.W          R1, [R0,#0x38]!</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113082 11 F0 01 0F TST.W           R1, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113086 0C BF       ITE EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113088</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113088             loc_C7113088</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113088 41 1C       ADDEQ           R1, R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711308A DB F8 40 10 LDRNE.W         R1, [R11,#0x40]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711308E D8 F8 00 20 LDR.W           R2, [R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113092 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113094 A0 F7 C5 FB BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113098 15 A8       ADD             R0, SP, #0xB0+var_5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711309A 4F F0 00 08 MOV.W           R8, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711309E 04 30       ADDS            R0, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130A0 CD E9 08 A4 STRD.W          R10, R4, [SP,#0xB0+var_90]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130A4 CD E9 16 88 STRD.W          R8, R8, [SP,#0xB0+var_58]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130A8 0B F1 B4 09 ADD.W           R9, R11, #0xB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130AC 0B 90       STR             R0, [SP,#0xB0+var_84]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130AE 15 90       STR             R0, [SP,#0xB0+var_5C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130B0 18 A8       ADD             R0, SP, #0xB0+var_50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130B2 CD E9 19 88 STRD.W          R8, R8, [SP,#0xB0+var_4C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130B6 04 30       ADDS            R0, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130B8 07 90       STR             R0, [SP,#0xB0+var_94]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130BA 18 90       STR             R0, [SP,#0xB0+var_50]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130BC DB F8 B0 40 LDR.W           R4, [R11,#0xB0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130C0 A1 45       CMP             R9, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130C2 2A D0       BEQ             loc_C711311A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130C4 0D F1 78 0A ADD.W           R10, SP, #0xB0+var_38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130C8 15 AD       ADD             R5, SP, #0xB0+var_5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130CA 22 AE       ADD             R6, SP, #0xB0+var_28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130CC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130CC             loc_C71130CC </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130CC 60 69       LDR             R0, [R4,#0x14]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130CE 01 0C       LSRS            R1, R0, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130D0 B8 EB 10 4F CMP.W           R8, R0,LSR#16</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130D4 18 BF       IT NE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130D6 01 21       MOVNE           R1, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130D8 80 B2       UXTH            R0, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130DA 8D F8 8C 10 STRB.W          R1, [SP,#0xB0+var_24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130DE 22 90       STR             R0, [SP,#0xB0+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130E0 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130E2 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130E4 32 46       MOV             R2, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130E6 33 46       MOV             R3, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130E8 00 F0 0A FB BL              malloc_sub_CDFDB700</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130EC 60 68       LDR             R0, [R4,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130EE 20 B1       CBZ             R0, loc_C71130FA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130F0             loc_C71130F0 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130F0 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130F2 20 68       LDR             R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130F4 00 28       CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130F6 FB D1       BNE             loc_C71130F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130F8 0D E0       B               loc_C7113116</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130FA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130FA             loc_C71130FA </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130FA 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71130FC 50 F8 08 1F LDR.W           R1, [R0,#8]!</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113100 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113102 A2 42       CMP             R2, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113104 0C 46       MOV             R4, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113106 06 D0       BEQ             loc_C7113116</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113108</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113108             loc_C7113108</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113108 01 68       LDR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711310A 08 46       MOV             R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711310C 50 F8 08 4F LDR.W           R4, [R0,#8]!</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113110 22 68       LDR             R2, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113112 8A 42       CMP             R2, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113114 F8 D1       BNE             loc_C7113108</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113116</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113116             loc_C7113116</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113116 A1 45       CMP             R9, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113118 D8 D1       BNE             loc_C71130CC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711311A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711311A             loc_C711311A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711311A DB F8 A4 A0 LDR.W           R10, [R11,#0xA4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711311E 0B F1 A8 04 ADD.W           R4, R11, #0xA8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113122 54 45       CMP             R4, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113124 30 D0       BEQ             loc_C7113188</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113126 0D F1 78 08 ADD.W           R8, SP, #0xB0+var_38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711312A 18 AD       ADD             R5, SP, #0xB0+var_50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711312C 22 AE       ADD             R6, SP, #0xB0+var_28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711312E 4F F0 00 09 MOV.W           R9, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113132</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113132             loc_C7113132 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113132 DA F8 14 00 LDR.W           R0, [R10,#0x14]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113136 01 0C       LSRS            R1, R0, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113138 B9 EB 10 4F CMP.W           R9, R0,LSR#16</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711313C 18 BF       IT NE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711313E 01 21       MOVNE           R1, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113140 80 B2       UXTH            R0, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113142 8D F8 8C 10 STRB.W          R1, [SP,#0xB0+var_24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113146 22 90       STR             R0, [SP,#0xB0+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113148 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711314A 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711314C 32 46       MOV             R2, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711314E 33 46       MOV             R3, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113150 00 F0 D6 FA BL              malloc_sub_CDFDB700</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113154 DA F8 04 00 LDR.W           R0, [R10,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113158 28 B1       CBZ             R0, loc_C7113166</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711315A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711315A             loc_C711315A </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711315A 82 46       MOV             R10, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711315C DA F8 00 00 LDR.W           R0, [R10]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113160 00 28       CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113162 FA D1       BNE             loc_C711315A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113164 0E E0       B               loc_C7113184</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113166</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113166             loc_C7113166 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113166 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113168 50 F8 08 1F LDR.W           R1, [R0,#8]!</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711316C 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711316E 52 45       CMP             R2, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113170 8A 46       MOV             R10, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113172 07 D0       BEQ             loc_C7113184</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113174</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113174             loc_C7113174</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113174 01 68       LDR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113176 08 46       MOV             R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113178 50 F8 08 AF LDR.W           R10, [R0,#8]!</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711317C DA F8 00 20 LDR.W           R2, [R10]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113180 8A 42       CMP             R2, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113182 F7 D1       BNE             loc_C7113174</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113184</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113184             loc_C7113184</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113184 54 45       CMP             R4, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113186 D4 D1       BNE             loc_C7113132</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113188</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113188             loc_C7113188</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113188 DD F8 20 90 LDR.W           R9, [SP,#0xB0+var_90]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711318C B9 F1 01 0F CMP.W           R9, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113190 3C D1       BNE             loc_C711320C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113192 DB F8 10 01 LDR.W           R0, [R11,#0x110]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113196 DD E9 09 8A LDRD.W          R8, R10, [SP,#0xB0+var_8C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711319A 07 9E       LDR             R6, [SP,#0xB0+var_94]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711319C 00 28       CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711319E 65 D0       BEQ             loc_C711326C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131A0 1E AC       ADD             R4, SP, #0xB0+var_38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131A2 00 25       MOVS            R5, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131A4             loc_C71131A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131A4 DB F8 44 00 LDR.W           R0, [R11,#0x44]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131A8 50 F8 25 00 LDR.W           R0, [R0,R5,LSL#2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131AC 1E 90       STR             R0, [SP,#0xB0+var_38]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131AE 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131B0 21 46       MOV             R1, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131B2 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131B4 A0 F7 35 FB BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131B8 DB F8 10 01 LDR.W           R0, [R11,#0x110]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131BC 01 35       ADDS            R5, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131BE 85 42       CMP             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131C0 F0 D3       BCC             loc_C71131A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131C2 50 E0       B               loc_C7113266</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131C4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131C4             loc_C71131C4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131C4 04 F1 10 00 ADD.W           R0, R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131C8 20 F0 0F 05 BIC.W           R5, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131CC 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131CE 38 F0 5B F9 BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131D2 45 F0 01 01 ORR.W           R1, R5, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131D6 C8 E9 00 14 STRD.W          R1, R4, [R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131DA C8 F8 08 00 STR.W           R0, [R8,#8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131DE 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131E0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131E0             loc_C71131E0 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131E0 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131E2 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131E4 22 46       MOV             R2, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131E6 96 F7 B4 EA BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131EA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131EA             loc_C71131EA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131EA 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131EC 08 F8 04 00 STRB.W          R0, [R8,R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71131F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133C6 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133C8 DB F8 28 00 LDR.W           R0, [R11,#0x28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133CC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133CC             loc_C71133CC                            ; CODE XREF: getbody_crc_sub_CDA4AE44+572↑j</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133CC 00 F1 0E 01 ADD.W           R1, R0, #0xE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133D0 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133D2 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133D4 96 F7 BC E9 BLX             __aeabi_memcpy          ; 设备数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133D8 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133DA 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133DC 00 22       MOVS            R2, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133DE F0 F7 6E FE BL              crc_sub_CDA3C0BE        ; crc</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133E2 1C 90       STR             R0, [SP,#0xB0+crc]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133E4 04 20       MOVS            R0, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133E6 1C AB       ADD             R3, SP, #0xB0+crc</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133E8 00 90       STR             R0, [SP,#0xB0+var_B0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133EA 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133EC 0A 21       MOVS            R1, #0xA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133EE 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133F0 00 F0 D0 F8 BL              cppy_crc_sub_CDA4B594</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133F4 01 46       MOV             R1, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133F6 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133F8 A8 F7 B0 F8 BL              memmove_sub_CDB0E55C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71133FC 98 F8 00 00 LDRB.W          R0, [R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113400 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113404 0C BF       ITE EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113406 40 08       LSREQ           R0, R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113408 DB F8 24 00 LDRNE.W         R0, [R11,#0x24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711340C 05 99       LDR             R1, [SP,#0xB0+var_9C]</span></span></code></pre></section><p style="margin-top: 24px;margin-bottom: 16px;font-size: 1em;white-space: normal;box-sizing: border-box;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(106, 115, 125);font-size: 15px;">组合后数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E00  69 20 61 6D 20 74 68 65  20 72 65 71 75 65 73 74  i am the request</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E10  20 62 6F 64 79 2C 20 65  6E 63 72 79 70 74 65 64   body, encrypted</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E20  20 6F 72 20 6E 6F 74 21  26 30 65 61 37 5F DF FA   or not!&amp;0ea7_..</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E30  DF FA 01 0D 0A 02 02 10  7C 67 BC 63 3F 63 3D 4A  ........|g.c?c=J</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E40  02 09 1D 40 36 1F 4C 68  9E D2 6D F1 A2 A4 18 28  ...@6.Lh.......(</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E50  91 E8 24 4A C2 0C EA 01  86 B6 7B 05 09 AD AC 19  ..........{.....</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E60  B0 90 5B 57 1B 86 71 57  7F D4 FF 36 F5 36 A8 2D  ..[W..qW...6....</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E70  F9 90 08 0D 25 9E C4 84  99 25 62 1C 06 1E 8C 5E  ....%.Ą .%b....^</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E80  27 92 9D 16 F2 02 00 08  64 00 05 2C 02 0A 00 0D  &#39;.......d..,....</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274E90  D2 A9 A5 00 4D E3 00 00  57 96 F1 D5 7D 01 00 00  ҩ ..M...W.......</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274EA0  00 00 00 00 00 00 00 00  00 06 01 03 02 03 26 01  ..............&amp;.</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274EB0  0C 01 0D 03 06 01 07 02  05 02 25 05 09 04 08 06  ..........%.....</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274EC0  64 04 03 01 0A 01 1A 05  7F 73 71 34 7D 72 75 65  d........sq4}rue</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274ED0  69 74 34 7D 72 75 65 69  74 7C 7D 7F 79 5A 79 71  it4}rueit|}.yZyq</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274EE0  73 00 08 34 6B 0C 3B 3B  27 24 2A 2C 3F 24 26 25  s..4k.;;&#39;$*,?$&amp;%</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274EF0  00 7C 65 7B 00 07 02 06  54 07 5C 57 08 53 02 07  .|e{....T.\W.S..</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274F00  55 55 51 57 01 07 56 03  51 08 51 53 52 5B 51 5C  UUQW..V.Q.QSR[Q\</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274F10  01 54 53 54 02 00 52 5B  00 7C 7B 00 34 0B 1C 07  .TST..R[.|{.4...</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274F20  10 44 3C 30 00 51 5D 50  52 55 54 00 5B 53 53 5B  .D&lt;0.Q]PRUT.[SS[</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274F30  52 59 00 65 69 7C 66 61  68 00 70 64 71 6F 6C 6D  RY.ei|fah.pdqolm</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274F40  00 5B 73 73 7B 72 79 00  7F 00 53 4E 52 4E 54 00  .[ss{ry...SNRNT.</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274F50  53 58 58 54 1C 52 57 56  54 00 6D 3F 3C 3E 3D 32  SXXT.RWVT.m?&lt;&gt;=2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274F60  40 40 6D 6D 6D 6D 3E 70  40 6D 00 26 37 44 44 36  @@mmmm&gt;p@m.&amp;7DD6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CF274F70  43 46 42 45 35 30 00 CF  45 00 00 00 00 00 00 00  CFBE50</span></span></code></pre></section><p style="margin-top: 24px;margin-bottom: 16px;font-size: 1em;white-space: normal;box-sizing: border-box;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(106, 115, 125);font-size: 15px;">计算hmac值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             encbody_hmac_sha256_sub_CDF417A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             var_48= -0x48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             var_44= -0x44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             var_40= -0x40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             var_3C= -0x3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             var_38= -0x38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             var_34= -0x34</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             index= -0x30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             var_2C= -0x2C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             var_28= -0x28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             bodydata1= -0x24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             bodydata= -0x20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             arg_1B4=  0x1BC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             arg_290=  0x298</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             arg_2E0=  0x2E8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A4 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A6 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057A8 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057AC 8B B0       SUB             SP, SP, #0x2C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057AE 01 91       STR             R1, [SP,#0x48+var_44]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057B0 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057B2 74 49       LDR             R1, =(off_C719DAAC - 0xC71057C2)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057B4 06 F1 48 04 ADD.W           R4, R6, #0x48 ; &#39;H&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057B8 06 F1 40 05 ADD.W           R5, R6, #0x40 ; &#39;@&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057BC 41 20       MOVS            R0, #0x41 ; &#39;A&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057BE 79 44       ADD             R1, PC                  ; off_C719DAAC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057C0 04 92       STR             R2, [SP,#0x48+var_38]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057C2 D1 F8 00 B0 LDR.W           R11, [R1]               ; unk_C719EEA0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057C6 6C 49       LDR             R1, =(off_C719DAB4 - 0xC71057CC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057C8 79 44       ADD             R1, PC                  ; off_C719DAB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057CA D1 F8 00 80 LDR.W           R8, [R1]                ; unk_C719EEF0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057CE 6B 49       LDR             R1, =(off_C719DAB4 - 0xC71057D4)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057D0 79 44       ADD             R1, PC                  ; off_C719DAB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057D2 09 68       LDR             R1, [R1]                ; unk_C719EEF0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057D4 00 91       STR             R1, [SP,#0x48+var_48]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057D6 6A 49       LDR             R1, =(off_C719DAB4 - 0xC71057DC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057D8 79 44       ADD             R1, PC                  ; off_C719DAB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057DA 09 68       LDR             R1, [R1]                ; unk_C719EEF0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057DC 05 91       STR             R1, [SP,#0x48+var_34]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057DE 64 49       LDR             R1, =(off_C719DAB4 - 0xC71057E4)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057E0 79 44       ADD             R1, PC                  ; off_C719DAB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057E2 09 68       LDR             R1, [R1]                ; unk_C719EEF0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057E4 03 91       STR             R1, [SP,#0x48+var_3C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057E6 63 49       LDR             R1, =(off_C719DAB4 - 0xC71057EC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057E8 79 44       ADD             R1, PC                  ; off_C719DAB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057EA 09 68       LDR             R1, [R1]                ; unk_C719EEF0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057EC 02 91       STR             R1, [SP,#0x48+var_40]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057EE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057EE             loc_C71057EE </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057EE 81 46       MOV             R9, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057F0             loc_C71057F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057F0 08 98       LDR             R0, [SP,#0x48+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057F2 01 30       ADDS            R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057F4 06 90       STR             R0, [SP,#0x48+index]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057F6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057F6             loc_C71057F6 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057F6 B9 F1 43 0F CMP.W           R9, #0x43 ; &#39;C&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057FA 06 DA       BGE             loc_C710580A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71057FC B9 F1 3F 0F CMP.W           R9, #0x3F ; &#39;?&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105800 0A DA       BGE             loc_C7105818</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105802 B9 F1 3E 0F CMP.W           R9, #0x3E ; &#39;&gt;&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105806 16 D1       BNE             loc_C7105836</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105808 AD E0       B               loc_C7105966</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710580A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710580A             loc_C710580A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710580A B9 F1 4B 0F CMP.W           R9, #0x4B ; &#39;K&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710580E 2A DA       BGE             loc_C7105866</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105810 B9 F1 4A 0F CMP.W           R9, #0x4A ; &#39;J&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105814</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105814             loc_C7105814</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105814 17 D1       BNE             loc_C7105846</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105816 3B E0       B               loc_C7105890</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105818</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105818             loc_C7105818</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105818 B9 F1 41 0F CMP.W           R9, #0x41 ; &#39;A&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710581C 80 F2 8B 80 BGE.W           loc_C7105936</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105820 B8 F8 5A 00 LDRH.W          R0, [R8,#(word_C719EF4A - 0xC719EEF0)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105824 B8 F8 2E 10 LDRH.W          R1, [R8,#(word_C719EF1E - 0xC719EEF0)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105828 48 43       MULS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710582A 48 F2 E2 51 MOVW            R1, #0x85E2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710582E 80 B2       UXTH            R0, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105830 88 42       CMP             R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105832 00 F0 69 80 BEQ.W           loc_C7105908</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105836</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105836             loc_C7105836</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105836 9B F8 02 00 LDRB.W          R0, [R11,#(byte_C719EEA2 - 0xC719EEA0)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710583A 18 28       CMP             R0, #0x18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710583C 23 D0       BEQ             loc_C7105886</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710583E 9E 28       CMP             R0, #0x9E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105840 2B 08       LSRS            R3, R5, #0x20 ; &#39; &#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105842 CC AB       ADD             R3, SP, #0x48+arg_2E0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105844 81 93       STR             R3, [SP,#0x48+arg_1B4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105846</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105846             loc_C7105846</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105846 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105848 31 46       MOV             R1, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710584A D0 47       BLX             R10                     ; sha256_transform,R1:64字节数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710584C D4 E9 00 01 LDRD.W          R0, R1, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105850 89 F0 7F 09 EOR.W           R9, R9, #0x7F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105854 10 F5 00 70 ADDS.W          R0, R0, #0x200</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105858 41 F1 00 01 ADC.W           R1, R1, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710585C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710585C             loc_C710585C </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710585C C4 E9 00 01 STRD.W          R0, R1, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105860 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105862 28 60       STR             R0, [R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105864 C7 E7       B               loc_C71057F6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105866</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105866             loc_C7105866</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105866 B9 F1 4E 0F CMP.W           R9, #0x4E ; &#39;N&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710586A 1B DD       BLE             loc_C71058A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710586C DD E9 09 10 LDRD.W          R1, R0, [SP,#0x48+bodydata1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105870 4F F0 3C 09 MOV.W           R9, #0x3C ; &#39;&lt;&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105874 08 70       STRB            R0, [R1]                ; bodydata</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105876 28 68       LDR             R0, [R5]                ; offset</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105878 01 30       ADDS            R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710587A 28 60       STR             R0, [R5]                ; offset+1 index</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710587C 40 28       CMP             R0, #0x40 ; &#39;@&#39;         ; 判断是否拷贝结束</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710587E 08 BF       IT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105880 4F F0 4B 09 MOVEQ.W         R9, #0x4B ; &#39;K&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7105884 B7 E7       B               loc_C71057F6</span></span></code></pre></section><p style="margin-top: 24px;margin-bottom: 16px;font-size: 1em;white-space: normal;box-sizing: border-box;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(106, 115, 125);font-size: 15px;">多次计算hmac</span></p><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">appkey解密现来数据加密后与第一次计算得到的hmac组合b5c0d0a4-4763-44e8-baa6-dfca9a66efdb 再次计算hmac</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034A4 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034A6 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034A8 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034AC DB B0       SUB             SP, SP, #0x16C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034AE 0D F1 10 0C ADD.W           R12, SP, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034B2 40 F6 0F 29 MOVW            R9, #0xA0F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034B6 8C E8 0F 00 STM.W           R12, {R0-R3}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034BA C0 F6 96 09 MOVT            R9, #0x896</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034BE 93 49       LDR             R1, =(off_C719DA80 - 0xC71034C6)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034C0 91 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC71034C8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034C2 79 44       ADD             R1, PC                  ; off_C719DA80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034C4 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034C6 D1 F8 00 A0 LDR.W           R10, [R1]               ; unk_C719ECA0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034CA 94 49       LDR             R1, =(off_C719DA78 - 0xC71034D2)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034CC 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034CE 79 44       ADD             R1, PC                  ; off_C719DA78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034D0 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034D2 09 68       LDR             R1, [R1]                ; unk_C719EBC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034D4 5A 90       STR             R0, [SP,#0x168]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034D6 39 20       MOVS            R0, #0x39 ; &#39;9&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034D8 03 91       STR             R1, [SP,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034DA 8D 49       LDR             R1, =(off_C719DA78 - 0xC71034E0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034DC 79 44       ADD             R1, PC                  ; off_C719DA78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034DE D1 F8 00 B0 LDR.W           R11, [R1]               ; unk_C719EBC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034E2 8C 49       LDR             R1, =(off_C719DA78 - 0xC71034E8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034E4 79 44       ADD             R1, PC                  ; off_C719DA78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034E6 09 68       LDR             R1, [R1]                ; unk_C719EBC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034E8 0B 91       STR             R1, [SP,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034EA 8B 49       LDR             R1, =(off_C719DA78 - 0xC71034F0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034EC 79 44       ADD             R1, PC                  ; off_C719DA78</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034EE 09 68       LDR             R1, [R1]                ; unk_C719EBC0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034F0 09 91       STR             R1, [SP,#0x24]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034F2 CF E0       B               loc_C7103694</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034F4             loc_C71034F4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034F4 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034F6 0D 46       MOV             R5, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034F8 1C 46       MOV             R4, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034FA 8E E0       B               loc_C710361A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034FC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034FC             loc_C71034FC </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034FC 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71034FE 0D 46       MOV             R5, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103500 1C 46       MOV             R4, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103502 A9 E0       B               loc_C7103658</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103504</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103504             loc_C7103504 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103504 34 28       CMP             R0, #0x34 ; &#39;4&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103506 65 DB       BLT             loc_C71035D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103508 34 26       MOVS            R6, #0x34 ; &#39;4&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710350A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710350A             loc_C710350A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710350A 9F 48       LDR             R0, =(dword_C71A737C - 0xC7103510)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710350C 78 44       ADD             R0, PC                  ; dword_C71A737C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710350E D0 F8 00 80 LDR.W           R8, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103512 9E 48       LDR             R0, =(dword_C719EE50 - 0xC710351C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103514 B8 F1 00 0F CMP.W           R8, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103518 78 44       ADD             R0, PC                  ; dword_C719EE50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710351A 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710351C 08 D1       BNE             loc_C7103530</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710351E 45 F2 8A 11 MOVW            R1, #0x518A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103522 FF F7 15 FB BL              getfucn_loc_CB16CB50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103526 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103528 99 48       LDR             R0, =(dword_C71A737C - 0xC710352E)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710352A 78 44       ADD             R0, PC                  ; dword_C71A737C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710352C C0 F8 00 80 STR.W           R8, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103530</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103530             loc_C7103530</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103530 03 99       LDR             R1, [SP,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103532 86 F0 0C 00 EOR.W           R0, R6, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103536 89 7E       LDRB            R1, [R1,#0x1A]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103538 81 29       CMP             R1, #0x81</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710353A 00 F0 AB 80 BEQ.W           loc_C7103694</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710353E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710353E             loc_C710353E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710353E DD E9 04 12 LDRD.W          R1, R2, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103542 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103544 08 9B       LDR             R3, [SP,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103546 98 47       BLX             R3                      ; memcpy</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103548 80 48       LDR             R0, =(off_C719EE2C - 0xC7103550)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710354A 82 49       LDR             R1, =(dword_C71A7370 - 0xC7103552)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710354C 78 44       ADD             R0, PC                  ; off_C719EE2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710354E 79 44       ADD             R1, PC                  ; dword_C71A7370</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103550 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103552 7F 48       LDR             R0, =(dword_C719EE30 - 0xC7103558)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103554 78 44       ADD             R0, PC                  ; dword_C719EE30</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103556 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103558 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710355A 7F 49       LDR             R1, =(dword_C719EE34 - 0xC7103562)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710355C 00 2A       CMP             R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710355E 79 44       ADD             R1, PC                  ; dword_C719EE34</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103560 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103562 05 D1       BNE             loc_C7103570</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103564 FF F7 F4 FA BL              getfucn_loc_CB16CB50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103568 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710356A 7C 48       LDR             R0, =(dword_C71A7370 - 0xC7103570)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710356C 78 44       ADD             R0, PC                  ; dword_C71A7370</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710356E 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103570</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103570             loc_C7103570</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103570 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103572 90 47       BLX             R2                      ; 加密appkey解密后值</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103574 7A 48       LDR             R0, =(dword_C719EE38 - 0xC710357C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103576 7C 49       LDR             R1, =(dword_C71A7374 - 0xC710357E)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103578 78 44       ADD             R0, PC                  ; dword_C719EE38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710357A 79 44       ADD             R1, PC                  ; dword_C71A7374</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710357C 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710357E 79 48       LDR             R0, =(off_C719EE3C - 0xC7103584)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103580 78 44       ADD             R0, PC                  ; off_C719EE3C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103582 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103584 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103586 79 49       LDR             R1, =(off_C719EE40 - 0xC710358E)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103588 00 2A       CMP             R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710358A 79 44       ADD             R1, PC                  ; off_C719EE40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710358C 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710358E 05 D1       BNE             loc_C710359C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103590 FF F7 DE FA BL              getfucn_loc_CB16CB50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103594 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103596 76 48       LDR             R0, =(dword_C71A7374 - 0xC710359C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103598 78 44       ADD             R0, PC                  ; dword_C71A7374</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710359A 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710359C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710359C             loc_C710359C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710359C 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710359E 90 47       BLX             R2                      ; 计算加密后的appkey的hmac</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035A0 74 48       LDR             R0, =(dword_C719EE44 - 0xC71035A8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035A2 76 49       LDR             R1, =(dword_C71A7378 - 0xC71035AA)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035A4 78 44       ADD             R0, PC                  ; dword_C719EE44</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035A6 79 44       ADD             R1, PC                  ; dword_C71A7378</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035A8 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035AA 73 48       LDR             R0, =(dword_C719EE48 - 0xC71035B0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035AC 78 44       ADD             R0, PC                  ; dword_C719EE48</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035AE 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035B0 0B 68       LDR             R3, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035B2 73 49       LDR             R1, =(dword_C719EE4C - 0xC71035BA)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035B4 00 2B       CMP             R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035B6 79 44       ADD             R1, PC                  ; dword_C719EE4C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035B8 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035BA 05 D1       BNE             loc_C71035C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035BC FF F7 C8 FA BL              getfucn_loc_CB16CB50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035C0 03 46       MOV             R3, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035C2 70 48       LDR             R0, =(dword_C71A7378 - 0xC71035C8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035C4 78 44       ADD             R0, PC                  ; dword_C71A7378</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035C6 03 60       STR             R3, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035C8             loc_C71035C8                            ; CODE XREF: .text:JNI_OnLoad+5072↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035C8 DD E9 06 12 LDRD.W          R1, R2, [SP,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035CC 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035CE 98 47       BLX             R3                      ; R1:计算第一次请求体hmac,R2:大小</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035D0 34 20       MOVS            R0, #0x34 ; &#39;4&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035D2 5F E0       B               loc_C7103694</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035D4             loc_C71035D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035D4 55 48       LDR             R0, =(dword_C719EE14 - 0xC71035DC)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035D6 57 49       LDR             R1, =(dword_C71A7368 - 0xC71035DE)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035D8 78 44       ADD             R0, PC                  ; dword_C719EE14</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035DA 79 44       ADD             R1, PC                  ; dword_C71A7368</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035DC 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035DE 54 48       LDR             R0, =(off_C719EE18 - 0xC71035E4)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035E0 78 44       ADD             R0, PC                  ; off_C719EE18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035E2 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035E4 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035E6 54 49       LDR             R1, =(off_C719EE1C - 0xC71035EE)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035E8 00 2A       CMP             R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035EA 79 44       ADD             R1, PC                  ; off_C719EE1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035EC 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035EE 05 D1       BNE             loc_C71035FC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035F0 FF F7 AE FA BL              getfucn_loc_CB16CB50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035F4 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035F6 51 48       LDR             R0, =(dword_C71A7368 - 0xC71035FC)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035F8 78 44       ADD             R0, PC                  ; dword_C71A7368</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035FA 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035FC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035FC             loc_C71035FC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035FC 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71035FE 90 47       BLX             R2                      ; memset</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103600 4F 48       LDR             R0, =(dword_C719EE20 - 0xC7103606)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103602 78 44       ADD             R0, PC                  ; dword_C719EE20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103604 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103606 4F 48       LDR             R0, =(off_C719EE24 - 0xC710360C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103608 78 44       ADD             R0, PC                  ; off_C719EE24</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710360A 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710360C 02 90       STR             R0, [SP,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710360E 4E 48       LDR             R0, =(dword_C719EE28 - 0xC7103614)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103610 78 44       ADD             R0, PC                  ; dword_C719EE28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103612 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103614 01 90       STR             R0, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103616 42 20       MOVS            R0, #0x42 ; &#39;B&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103618 3C E0       B               loc_C7103694</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710361A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710361A             loc_C710361A  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710361A 9B F8 02 00 LDRB.W          R0, [R11,#(byte_C719EBC2 - 0xC719EBC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710361E 9B F8 0D 10 LDRB.W          R1, [R11,#(byte_C719EBCD - 0xC719EBC0)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103622 08 43       ORRS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103624 C0 B2       UXTB            R0, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103626 FD 28       CMP             R0, #0xFD</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103628 2F D0       BEQ             word_C710368A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710362A 38 2E       CMP             R6, #0x38 ; &#39;8&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710362C 01 DA       BGE             loc_C7103632</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710362E 31 20       MOVS            R0, #0x31 ; &#39;1&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103630 30 E0       B               loc_C7103694</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103632</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103632             loc_C7103632 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103632 B8 68       LDR             R0, [R7,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103634 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103636 C0 47       BLX             R8                      ; 计算hmac appkey解密现来数据加密后与第一次计算得到的hmac组合,R0:返回</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103638 0B 98       LDR             R0, [SP,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710363A 56 49       LDR             R1, =(dword_C719EE54 - 0xC7103640)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710363C 79 44       ADD             R1, PC                  ; dword_C719EE54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710363E 90 F8 34 00 LDRB.W          R0, [R0,#0x34]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103642 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103644 0A 91       STR             R1, [SP,#0x28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103646 00 F0 AF 01 AND.W           R1, R0, #0xAF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710364A 2D 20       MOVS            R0, #0x2D ; &#39;-&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710364C 8A 29       CMP             R1, #0x8A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710364E 21 D0       BEQ             loc_C7103694</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103650 2F 0D       LSRS            R7, R5, #0x14</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103652 19 7A       LDRB            R1, [R3,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103654 69 A4       ADR             R4, (loc_C71037FA+2)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103656 8E 95       STR             R5, [SP,#0x238]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103658</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103658             loc_C7103658</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103658 09 98       LDR             R0, [SP,#0x24]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710365A 90 F8 24 00 LDRB.W          R0, [R0,#0x24]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710365E 00 EB 40 10 ADD.W           R0, R0, R0,LSL#5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103662 C0 B2       UXTB            R0, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103664 A0 28       CMP             R0, #0xA0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103666 D8 D0       BEQ             loc_C710361A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103668 4B 48       LDR             R0, =(dword_C71A736C - 0xC710366E)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710366A 78 44       ADD             R0, PC                  ; dword_C71A736C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710366C 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710366E 08 90       STR             R0, [SP,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103670 40 B9       CBNZ            R0, loc_C7103684</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103672 DD E9 01 10 LDRD.W          R1, R0, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103676 FF F7 6B FA BL              getfucn_loc_CB16CB50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710367A 01 46       MOV             R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710367C 47 48       LDR             R0, =(dword_C71A736C - 0xC7103684)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C710367E 08 91       STR             R1, [SP,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103680 78 44       ADD             R0, PC                  ; dword_C71A736C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103682 01 60       STR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103684</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103684             loc_C7103684 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103684 86 F0 69 00 EOR.W           R0, R6, #0x69</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7103688 04 E0       B               loc_C7103694</span></span></code></pre></section><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">结果转换成字符串，随机数+hmac</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer"><span class="code-snippet__number">7</span>DD6CFBE50FD7930742D168D58099A46D14AE3C7B67341C880 B9BA4EEE79E5FCAEBCE9F68B <span class="code-snippet__comment">//组合签名时用到中间50字节</span></span></code></pre></section><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-weight: 600;font-size: 15px;color: rgb(61, 167, 66);">5.3、加密设备数据与签名组合</span></p><h6 data-source-line="4287" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;">压缩aes与base64加密参与签名的设备数据</span></h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             vm_enc_body_sub_C8E49244                ; CODE XREF: getinfo_sub_CDF805D0+6D2↑p</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244                                                     ; .text:JNI_OnLoad+18B54↑p</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_58= -0x58</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_54= -0x54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_50= -0x50</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_4C= -0x4C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_48= -0x48</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_44= -0x44</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_40= -0x40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_3C= -0x3C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_38= -0x38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_30= -0x30</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_28= -0x28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_1C= -0x1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             var_18= -0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             arg_0=  8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117244 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117246 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117248 2D E9 00 07 PUSH.W          {R8-R10}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711724C 90 B0       SUB             SP, SP, #0x40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711724E 6C 46       MOV             R4, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117250 6F F3 03 04 BFC.W           R4, #0, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117254 A5 46       MOV             SP, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117256 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117258 29 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC7117262)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711725A 98 46       MOV             R8, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711725C 15 46       MOV             R5, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711725E 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117260 0E 46       MOV             R6, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117262 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117264 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117266 0F 90       STR             R0, [SP,#0x58+var_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117268 F8 F7 DE FB BL              DecString_loc_C5D9FA28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711726C 25 48       LDR             R0, =(off_C719AF1C - 0xC7117276)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711726E 26 49       LDR             R1, =(off_C719AF20 - 0xC711727A)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117270 26 4A       LDR             R2, =(off_C719AF24 - 0xC7117280)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117272 78 44       ADD             R0, PC                  ; off_C719AF1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117274 26 4B       LDR             R3, =(off_C719AF28 - 0xC7117286)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117276 79 44       ADD             R1, PC                  ; off_C719AF20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117278 DF F8 98 C0 LDR.W           R12, =(off_C719AF2C - 0xC711728C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711727C 7A 44       ADD             R2, PC                  ; off_C719AF24</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711727E DF F8 98 E0 LDR.W           LR, =(off_C719AF30 - 0xC7117290)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117282 7B 44       ADD             R3, PC                  ; off_C719AF28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117284 DF F8 94 90 LDR.W           R9, =(off_C719AF34 - 0xC7117294)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117288 FC 44       ADD             R12, PC                 ; off_C719AF2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711728A 00 68       LDR             R0, [R0]                ; unk_1F6B475D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711728C FE 44       ADD             LR, PC                  ; off_C719AF30</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711728E 09 68       LDR             R1, [R1]                ; unk_E103CAD5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117290 F9 44       ADD             R9, PC                  ; off_C719AF34</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117292 D2 F8 00 A0 LDR.W           R10, [R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117296 1B 68       LDR             R3, [R3]                ; unk_EF4A43D1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C7117298 02 96       STR             R6, [SP,#0x58+var_50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711729A DC F8 00 60 LDR.W           R6, [R12]               ; unk_DFC4E66F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C711729E 01 94       STR             R4, [SP,#0x58+var_54]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172A0 DE F8 00 40 LDR.W           R4, [LR]                ; unk_2AD2FC11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172A4 03 95       STR             R5, [SP,#0x58+var_4C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172A6 BA 68       LDR             R2, [R7,#arg_0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172A8 D9 F8 00 50 LDR.W           R5, [R9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172AC CD F8 10 80 STR.W           R8, [SP,#0x58+var_48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172B0 05 92       STR             R2, [SP,#0x58+var_44]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172B2 1B 4A       LDR             R2, =(off_C719AF38 - 0xC71172B8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172B4 7A 44       ADD             R2, PC                  ; off_C719AF38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172B6 12 68       LDR             R2, [R2]                ; unk_25B83385</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172B8 06 90       STR             R0, [SP,#0x58+var_40]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172BA 1A 48       LDR             R0, =(off_C719AF3C - 0xC71172C0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172BC 78 44       ADD             R0, PC                  ; off_C719AF3C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172BE 00 68       LDR             R0, [R0]                ; unk_D8E2104D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172C0 07 91       STR             R1, [SP,#0x58+var_3C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172C2 19 49       LDR             R1, =(off_C719AF40 - 0xC71172C8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172C4 79 44       ADD             R1, PC                  ; off_C719AF40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172C6 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172C8 CD E9 08 A3 STRD.W          R10, R3, [SP,#0x58+var_38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172CC CD E9 0A 64 STRD.W          R6, R4, [SP,#0x58+var_30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172D0 CD E9 0C 52 STRD.W          R5, R2, [SP,#0x58+var_28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172D4 6A 46       MOV             R2, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172D6 0E 90       STR             R0, [SP,#0x58+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172D8 4F F4 3C 70 MOV.W           R0, #0x2F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172DC F9 F7 52 F8 BL              VM_Entrance_loc_CDF4C384 ; R:传入不同数字代走不同逻辑</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172E0 12 49       LDR             R1, =(__stack_chk_guard_ptr - 0xC71172E8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172E2 00 98       LDR             R0, [SP,#0x58+var_58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172E4 79 44       ADD             R1, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172E6 0F 9A       LDR             R2, [SP,#0x58+var_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172E8 09 68       LDR             R1, [R1]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172EA 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C71172EC 89 1A       SUBS            R1, R1, R2</span></span></code></pre></section><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">生成aeskey</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer"><span style="font-size: 15px;">7dfd964a-0377-4188-ada7-0758b4f7f63b me5值</span></span></code></pre></section><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">AES加密</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB10             ; R0:初始化的key,R1:数据,R2:大小</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB10             AES_Encdata_sub_C290EB10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB10             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB10 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB12 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB14 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB18 8B B0       SUB             SP, SP, #0x2C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB1A 00 EE 10 2A VMOV            S0, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB1E 9F ED 64 1B VLDR            D1, =0.1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB22 88 46       MOV             R8, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB24</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB24             loc_C70FFB24 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB24 00 F1 B0 04 ADD.W           R4, R0, #0xB0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB28 B8 EE 40 0B VCVT.F64.U32    D0, S0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB2C 6F F0 71 03 MOV             R3, #0xFFFFFF8E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB30 41 F6 AE 26 MOVW            R6, #0x1AAE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB34 30 EE 01 0B VADD.F64        D0, D0, D1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB38 BC EE C0 0B VCVT.U32.F64    S0, D0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB3C 10 EE 10 2A VMOV            R2, S0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB40 03 92       STR             R2, [SP,#0x50+var_44]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB42 5D 4A       LDR             R2, =(off_C719DA5C - 0xC70FFB4C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB44 00 90       STR             R0, [SP,#0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB46 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB48 7A 44       ADD             R2, PC                  ; off_C719DA5C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB4A 08 90       STR             R0, [SP,#0x50+var_30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB4C 38 20       MOVS            R0, #0x38 ; &#39;8&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB4E 15 68       LDR             R5, [R2]                ; unk_C719E810</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB50 5B 4A       LDR             R2, =(off_C719DA60 - 0xC70FFB56)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB52 7A 44       ADD             R2, PC                  ; off_C719DA60</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB54 D2 F8 00 B0 LDR.W           R11, [R2]               ; unk_C719E850</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB58 58 4A       LDR             R2, =(off_C719DA5C - 0xC70FFB5E)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB5A 7A 44       ADD             R2, PC                  ; off_C719DA5C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB5C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB5C             loc_C70FFB5C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB5C 12 68       LDR             R2, [R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB5E 01 92       STR             R2, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB60 CD F8 10 80 STR.W           R8, [SP,#0x50+var_40]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB64 05 94       STR             R4, [SP,#0x50+var_3C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB66 2A E0       B               loc_C70FFBBE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB68</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB68             loc_C70FFB68</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB68 5A 48       LDR             R0, =(dword_C719E9F4 - 0xC70FFB6E)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB6A 78 44       ADD             R0, PC                  ; dword_C719E9F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB6C 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB6E 5A 48       LDR             R0, =(off_C719E9F8 - 0xC70FFB74)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB70 78 44       ADD             R0, PC                  ; off_C719E9F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB72 00 68       LDR             R0, [R0]                ; dword_C709A0A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB74 0A 90       STR             R0, [SP,#0x50+var_28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB76 59 48       LDR             R0, =(off_C719E9FC - 0xC70FFB7C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB78 78 44       ADD             R0, PC                  ; off_C719E9FC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB7A 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB7C 09 90       STR             R0, [SP,#0x50+var_2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB7E 2E 20       MOVS            R0, #0x2E ; &#39;.&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB80 1D E0       B               loc_C70FFBBE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB82</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB82             loc_C70FFB82</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB82 57 48       LDR             R0, =(off_C719EA04 - 0xC70FFB8A)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB84 57 49       LDR             R1, =(dword_C71A72F8 - 0xC70FFB8C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB86 78 44       ADD             R0, PC                  ; off_C719EA04</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB88 79 44       ADD             R1, PC                  ; dword_C71A72F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB8A 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB8C 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB8E 56 49       LDR             R1, =(dword_C719EA08 - 0xC70FFB96)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB90 00 2A       CMP             R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB92 79 44       ADD             R1, PC                  ; dword_C719EA08</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB94 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB96 05 D1       BNE             loc_C70FFBA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB98 00 F0 AA F8 BL              getdec_enc_func_sub_CDB52CF0 ; getdecencfunc</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB9C 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFB9E 53 48       LDR             R0, =(dword_C71A72F8 - 0xC70FFBA4)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBA0 78 44       ADD             R0, PC                  ; dword_C71A72F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBA2 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBA4             loc_C70FFBA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBA4 00 99       LDR             R1, [SP,#0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBA6 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBA8 90 47       BLX             R2                      ; 加解密</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBAA 02 99       LDR             R1, [SP,#0x50+var_48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBAC A9 F1 02 00 SUB.W           R0, R9, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBB0 6F F0 71 03 MOV             R3, #0xFFFFFF8E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBB4 10 31       ADDS            R1, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70FFBB6 08 91       STR             R1, [SP,#0x50+var_30]</span></span></code></pre></section><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">base64加密aes加密后的数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer"><span style="font-size: 15px;">iJByjqu4/3AEZUxyQNgMlC7jWAIjZrVEK0YQ1bU1OnGaTAeh3AYalxfKYpkqI3fGhOBlr9FamFhDPPv/yN0+k6iGOzLhheXvQAPEAHadlgJ4CNKxIlMnhusyXeoz4vElOPG4W2TxMbhFoowx7USetpEe01ALAhX5aXeNpQA4Sdaz/o5ufdFF6g50cRgeQPoO7/PY5WjuJwpMtyJcdd4uIH7tt9JCAa6GaSwtw9lD2Yj6Gx6A9tuj3+GHde0iMogaEWJrJMRIM1XGpnbvFxgBxVIEKIYzqXpDK9mfV+CaGLJc9PRPjJmGvF46Zg4N9jacxZvDzO+BUx9Ffq3ZrUWl8ftkPXzUzTZyHqLZACoLs4JPLl/tFP3wIlcxf/7O36etnod4D2vzVp3GXbCzI9LWKe/w1Fi0GmOSCGHxEUL0kEE=</span></span></code></pre></section><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">组合签名</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer"><span style="font-size: 15px;">appk解密出的常量字符+AES+base64加密后的数据+appk解密出的常量字符+hamc(请求体+设备数据+appkey解密现来数据)前50字节</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">0ea7_iJByjqu4/3AEZUxyQNgMlC7jWAIjZrVEK0YQ1bU1OnGaTAeh3AYalxfKYpkqI3fGhOBlr9FamFhDPPv/yN0+k6iGOzLhheXvQAPEAHadlgJ4CNKxIlMnhusyXeoz4vElOPG4W2TxMbhFoowx7USetpEe01ALAhX5aXeNpQA4Sdaz/o5ufdFF6g50cRgeQPoO7/PY5WjuJwpMtyJcdd4uIH7tt9JCAa6GaSwtw9lD2Yj6Gx6A9tuj3+GHde0iMogaEWJrJMRIM1XGpnbvFxgBxVIEKIYzqXpDK9mfV+CaGLJc9PRPjJmGvF46Zg4N9jacxZvDzO+BUx9Ffq3ZrUWl8ftkPXzUzTZyHqLZACoLs4JPLl/tFP3wIlcxf/7O36etnod4D2vzVp3GXbCzI9LWKe/w1Fi0GmOSCGHxEUL0kEE=&amp;ff4b_7DD6CFBE50FD7930742D168D58099A46D14AE3C7B67341C880</span></span></code></pre></section><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><br/></p><h3 data-source-line="4480" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.5em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(61, 167, 66);font-size: 15px;">六、算法还原</span></h3><h4 data-source-line="4481" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.25em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(61, 167, 66);font-size: 15px;">6.1、加密设备数据算法</span></h4><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="markdown"><code><span class="code-snippet_outer">BYTE iv[<span class="code-snippet__string">1</span>][<span class="code-snippet__symbol">16</span>] = {</span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    {&#34;632870a7427e3bdc&#34;}</span></span></code><code><span class="code-snippet_outer">  };</span></code><code><span class="code-snippet_outer">  BYTE key[<span class="code-snippet__string">1</span>][<span class="code-snippet__symbol">16</span>] = { {&#34;24e96202f2d6fe64&#34;} };</span></code><code><span class="code-snippet_outer">  int pass = 1;</span></code><code><span class="code-snippet_outer">  aes<span class="code-snippet__emphasis">_key_</span>setup(key[0], key_schedule, 128);</span></code><code><span class="code-snippet_outer">  BYTE outdata[10434] = { 0 };</span></code><code><span class="code-snippet_outer">  //解密appkey 第一步</span></code><code><span class="code-snippet_outer">  BYTE base64_appkey[<span class="code-snippet__string">1</span>][<span class="code-snippet__symbol">10434</span>] = {</span></code><code><span class="code-snippet_outer">  {&#34;svgF9wkBBb62bzpxAhUuu7psOlW57RywSRI8sLRlbCvOblPMymnicGqHkT4iQL0qb-iUTR3CNngdPqsC5lz1bEaFLxT5GSi3QfWkZ5dcgiOl9a<span class="code-snippet__emphasis">_jGZcdNsAaRAUvCtRzNTjWTN0V_</span>bQcyurRrmOp0A==&#34;}</span></code><code><span class="code-snippet_outer">  };</span></code><code><span class="code-snippet_outer">  base64<span class="code-snippet__emphasis">_len = AliTigerTally_</span>base64(base64<span class="code-snippet__emphasis">_appkey, strlen(base64_</span>appkey[0]), outdata, 0);</span></code><code><span class="code-snippet_outer">  if (0 == base64_len) {</span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    printf(&#34;AliTigerTally_base64 error!\n&#34;);</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    return -1;</span></span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  aesret = aes<span class="code-snippet__emphasis">_decrypt_</span>cbc(outdata, base64<span class="code-snippet__emphasis">_len, out_</span>ciphertext[0], key_schedule, 128, iv[0]);</span></code><code><span class="code-snippet_outer">  if (1 != aesret) {</span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    printf(&#34;aes_decrypt_cbc error!\n&#34;);</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    return -1;</span></span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  //appkey解密出的值 md5 生成密钥</span></code><code><span class="code-snippet_outer">  BYTE aeskey[32] = { 0 };</span></code><code><span class="code-snippet_outer">  memcpy(aeskey, AliTigerTally_md5(&#34;7dfd964a-0377-4188-ada7-0758b4f7f63b&#34;), 16);</span></code><code><span class="code-snippet_outer">  //第二步加密设备信息</span></code><code><span class="code-snippet_outer">  BYTE iv2[<span class="code-snippet__string">1</span>][<span class="code-snippet__symbol">16</span>] = {</span></code><code><span class="code-snippet_outer">  {&#34;55b4dc20eaf2a88a&#34;}</span></code><code><span class="code-snippet_outer">  };</span></code><code><span class="code-snippet_outer">  BYTE key2[<span class="code-snippet__string">1</span>][<span class="code-snippet__symbol">16</span>] = { {0} };</span></code><code><span class="code-snippet_outer">  memcpy(key2[0], aeskey, 16);</span></code><code><span class="code-snippet_outer">  aes<span class="code-snippet__emphasis">_key_</span>setup(key2[0], key_schedule, 128);</span></code><code><span class="code-snippet_outer">  aesret = aes<span class="code-snippet__emphasis">_encrypt_</span>cbc(Devicedata, sizeof(Devicedata), enc<span class="code-snippet__emphasis">_buf, key_</span>schedule, 128, iv2[0]);</span></code><code><span class="code-snippet_outer">  if (1 != aesret) {</span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    printf(&#34;aes_encrypt_cbc error!\n&#34;);</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    return -1;</span></span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  //第三步 加密参与签名的设备风险信息</span></code><code><span class="code-snippet_outer">  BYTE iv3[<span class="code-snippet__string">1</span>][<span class="code-snippet__symbol">16</span>] = {</span></code><code><span class="code-snippet_outer">  {&#34;55b4dc20eaf2a88a&#34;}</span></code><code><span class="code-snippet_outer">  };</span></code><code><span class="code-snippet_outer">  BYTE key3[<span class="code-snippet__string">1</span>][<span class="code-snippet__symbol">16</span>] = { {0} };</span></code><code><span class="code-snippet_outer">  memcpy(key3[0], aeskey, 16);</span></code><code><span class="code-snippet_outer">  aes<span class="code-snippet__emphasis">_key_</span>setup(key3[0], key_schedule, 128);</span></code><code><span class="code-snippet_outer">  aesret = aes<span class="code-snippet__emphasis">_encrypt_</span>cbc(plaintext, sizeof(plaintext), enc<span class="code-snippet__emphasis">_buf, key_</span>schedule, 128, iv3[0]);</span></code><code><span class="code-snippet_outer">  if (1 != aesret) {</span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    printf(&#34;aes_encrypt_cbc error!\n&#34;);</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    return -1;</span></span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  base64<span class="code-snippet__emphasis">_len  = AliTigerTally_</span>base64(enc<span class="code-snippet__emphasis">_buf, strlen(enc_</span>buf), outdata, 1);</span></code><code><span class="code-snippet_outer">  if (0 == base64_len) {</span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    printf(&#34;AliTigerTally_base64 error!\n&#34;);</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__code">    return -1;</span></span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  printf(&#34;签名数据: %s\n&#34;, outdata);</span></code></pre></section><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">还原后加密数据与SDK内存中加密数据相同，如图6-1所示：</span></p><p style="white-space: normal;text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5235803657362849" data-s="300,640" data-w="1039" data-type="png" src="https://wechat2rss.xlab.app/img-proxy/?k=54b4134e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibV3OzqrO8KBvmKmS9tj4HOKXlB6mzy5o9fLckycU5KKZjcNcXoJXpcMR1nOsHr8GX8JegDBpuLJBQ%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="4034" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">                        图6-1<br/></span></p><h4 data-source-line="4548" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.25em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(61, 167, 66);font-size: 15px;">6.2、签名算法</span></h4><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">  sha256_init(&amp;ctx);</span></code><code><span class="code-snippet_outer">  sha256_update(&amp;ctx, text, <span class="code-snippet__keyword">sizeof</span>(text));</span></code><code><span class="code-snippet_outer">  sha256_final(&amp;ctx, buf);</span></code><code><span class="code-snippet_outer">  ByteToHexStr(buf, strbuf, <span class="code-snippet__number">32</span>);</span></code><code><span class="code-snippet_outer"><span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;sha256 :%s\n&#34;</span>, strbuf);</span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">int</span> <span class="code-snippet__title">AliTigerTally_base64</span><span class="code-snippet__params">(BYTE* data, <span class="code-snippet__keyword">int</span> len, BYTE* outdata, <span class="code-snippet__keyword">int</span> mod)</span> </span>{</span></code><code><span class="code-snippet_outer">  BYTE buf[<span class="code-snippet__number">1024</span>];</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">size_t</span> buf_len;</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">int</span> pass = <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">int</span> idx;</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> (mod == <span class="code-snippet__number">1</span>) {</span></code><code><span class="code-snippet_outer">    buf_len = base64_encode(data, outdata, len, mod);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> (mod == <span class="code-snippet__number">0</span>) {</span></code><code><span class="code-snippet_outer">    buf_len = base64_decode(data, outdata, len);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">return</span> buf_len;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h3 data-source-line="4572" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.5em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="color: rgb(61, 167, 66);font-size: 15px;">七、总结</span></h3><h6 data-source-line="4573" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;color: rgb(61, 167, 66);">技术角度</span><span style="font-size: 15px;">：</span></h6><p data-source-line="4574" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">对于这种高强度混淆的SDK逆向分析难度还是比较高的，主要分为三步，一是解密appkey，二是获测设备风险与获取设备指纹，三进行签名。<br style="box-sizing: border-box;"/>采集设备异常风险特征包括：<br style="box-sizing: border-box;"/>使用模拟器、使用代理、Root设备、调试模式、App被hook、App多开。<br style="box-sizing: border-box;"/>其中采集设备信息与加解密算法都是通过混淆的，如果对常见算法逻辑不熟悉，要完整还原算法是需要花费一定的时间。整体来讲安全度还是比较高。<br style="box-sizing: border-box;"/>但是强混淆与多重反射会影响效率、代码重复率高、体积大。<br style="box-sizing: border-box;"/></span></p><h6 data-source-line="4579" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;color: rgb(61, 167, 66);">业务角度</span><span style="font-size: 15px;">：</span></h6><p data-source-line="4580" style="margin-bottom: 16px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"><span style="font-size: 15px;">我个人理解从老版本到新版本更新迭代这个业务比较成熟才是，但是从注册到获取SDK集成到配置策略发布大概需要2-3天的时间，其实整个流程下来完全可以实现自动化操作与自检验，节省时间的同时提升体验与更快的响应，但是期间我需要多次联系WAF技术支持人员获取App防护SDK包且反响时间较长。<br style="box-sizing: border-box;"/>版本变更内容未说明，黑盒状态，新增功能？功能调整？BUG修复？可能是因为整体架构都是全新开发的原因吧。</span></p><h3 data-source-line="3101" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.5em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;color: rgb(0, 0, 0);"><span style="letter-spacing: 0.544px;background-color: rgb(255, 255, 255);"><span style="color: rgb(36, 41, 46);font-size: 14px;letter-spacing: 0.544px;">样本获取方式，关注公众号，公众号输入框回复“att” 获取下载链接。</span></span></span></h3><h3 data-source-line="3101" style="margin-top: 24px;margin-bottom: 16px;font-weight: 600;font-size: 1.5em;white-space: normal;box-sizing: border-box;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><span style="font-size: 15px;color: rgb(0, 0, 0);"><span style="letter-spacing: 0.544px;background-color: rgb(255, 255, 255);">作者简介：</span><br data-filtered="filtered" style="outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(36, 41, 46);font-size: 14px;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;"/><span style="letter-spacing: 0.544px;background-color: rgb(255, 255, 255);">我是小三，目前从事软件安全相关工作，虽己工作多年，但内心依然有着执着的追求，信奉终身成长，不定义自己，热爱技术但不拘泥于技术，爱好分享，喜欢读书和乐于结交朋友，欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)</span></span></h3><p><br/></p>



<p><a href="2247484043">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=b3957e46&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247484043%26idx%3D1%26sn%3D92f0f15cd5ff3d439fc582a611937c6f%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 24 Dec 2021 12:10:00 +0800</pubDate>
    </item>
    <item>
      <title>App防Bot新版AliTigerTally方案浅析与算法还原一</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247484042&amp;idx=1&amp;sn=d903c02008f1515b03b7f5f8d33ccaf0</link>
      <description>App防护提供的SDK安全方案解决以下原生App端的安全问题：&#xA;恶意注册、撞库&#xA;短信、验证码接口被刷&#xA;薅羊毛、抢红包&#xA;恶意秒杀限时限购商品&#xA;恶意查票、刷票（例如，机票、酒店等场景）&#xA;价值资讯爬取（例如，价格、征信、融资、小说等内容）</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-12-23 20:10</span> <span style="display: inline-block;"></span>
</p>

<p>App防护提供的SDK安全方案解决以下原生App端的安全问题：</p>
<p>恶意注册、撞库</p>
<p>短信、验证码接口被刷</p>
<p>薅羊毛、抢红包</p>
<p>恶意秒杀限时限购商品</p>
<p>恶意查票、刷票（例如，机票、酒店等场景）</p>
<p>价值资讯爬取（例如，价格、征信、融资、小说等内容）</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=2650dbbb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibV3OzqrO8KBvmKmS9tj4HOKO5C0OSJu6kQiaRYSBia0wtPVtvR87kKmPYsxUqLSA2xMluBrIIAldHQw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">本文仅限学习交流，请勿用于非法以及商业用途，由于时间和水平有限，文中错漏之处在所难免，敬请各位大佬多多批评指正。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">目录:</span></code><code><span class="code-snippet_outer">一、产品概述</span></code><code><span class="code-snippet_outer">1<span class="code-snippet__selector-class">.1</span>、<span class="code-snippet__selector-tag">App</span>端防护能决哪些安全问题</span></code><code><span class="code-snippet_outer">1<span class="code-snippet__selector-class">.2</span>、如何为应用开启<span class="code-snippet__selector-tag">App</span>防护</span></code><code><span class="code-snippet_outer">二、产品整体框架</span></code><code><span class="code-snippet_outer">三、初始化逻辑</span></code><code><span class="code-snippet_outer">四、环境检测与设备指纹</span></code><code><span class="code-snippet_outer">五、签名流程</span></code><code><span class="code-snippet_outer">六、算法还原</span></code><code><span class="code-snippet_outer">七、总结</span></code></pre></section><h3 data-source-line="15" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">一、产品概述</span></h3><p data-source-line="16" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">对旧版产品本感兴趣的可以移步到这里： </span><a href="https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483895&amp;idx=1&amp;sn=1d565ce193c0a99951def8731ee74c1b&amp;scene=21#wechat_redirect" target="_blank" style="box-sizing: border-box;color: rgb(3, 102, 214);font-size: 15px;" data-linktype="2"><span style="font-size: 15px;">旧版产品</span></a><span style="font-size: 15px;"> <br style="box-sizing: border-box;"/></span></p><h4 data-source-line="17" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">1.1、App端防护能决哪些安全问题</span></h4><p data-source-line="18" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">App防护提供的SDK安全方案解决以下原生App端的安全问题：<br style="box-sizing: border-box;"/></span></p><p data-source-line="20" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">恶意注册、撞库、暴力破解<br style="box-sizing: border-box;"/>针对App的大流量CC攻击<br style="box-sizing: border-box;"/>短信、验证码接口被刷<br style="box-sizing: border-box;"/>薅羊毛、抢红包<br style="box-sizing: border-box;"/>恶意秒杀限时限购商品<br style="box-sizing: border-box;"/>恶意查票、刷票（例如，机票、酒店等场景）<br style="box-sizing: border-box;"/>价值资讯爬取（例如，价格、征信、融资、小说等内容）<br style="box-sizing: border-box;"/>机器批量投票<br style="box-sizing: border-box;"/>灌水、恶意评论<br style="box-sizing: border-box;"/></span></p><h4 data-source-line="29" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">1.2、如何为应用开启App防护</span></h4><p data-source-line="30" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">注册登录，提交配置，获取APPKEY与SDK，APP中集成SDK后可以在后台开启App防护状态开关，并设置App防护策略，流程如图1-2所示:</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="5.324468085106383" data-s="300,640" style="" data-type="png" data-w="564" src="https://wechat2rss.xlab.app/img-proxy/?k=9d0f2306&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibV3OzqrO8KBvmKmS9tj4HOKQPgOHxqCXzolWibsTwq9I0TzoK4HTB5QF7fNFmNrM4WguGwoFRHWHXQ%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="30" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">                        图1-2<br/></span></p><h3 data-source-line="33" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">二、产品整体框架</span></h3><p data-source-line="34" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">App集成SDK主要用于对通过App客户端发起的请求时对请求体进行签名发送到应用服务器。WAF服务端获得应用服务器收到的请求后，通过解析校验签名串（wToken）进行风险识别、拦截恶意请求，识别App业务中的风险，实现App防护的目的。它整体的框架如图2-1所示:</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="2.4875" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=2b112de6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibV3OzqrO8KBvmKmS9tj4HOKNDXCia48WF7QuB30dNxuOOddncQRlygeM5AQeSmR1UvCGIDRvHRbebg%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="34" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">                        图2-1<br/></span></p><h3 data-source-line="37" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">三、初始化逻辑</span></h3><h4 data-source-line="38" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">3.1、初始化</span></h4><p data-source-line="39" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">SDK初始化接口定义：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer"><span style="font-size: 15px;">int init(Context context, String appkey, int type);</span></span></code></pre></section><p data-source-line="30" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">功能：初始化SDK，执行一次初始化采集。一次初始化采集表示采集一次终端设备信息，您可以根据业务的不同，重新调用init函数进行初始化采集。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">初始化采集分为两种模式：采集全量数据、采集除需授权字段外的数据（不采集涉及终端设备用户隐私的字段，包括：imei、imsi、simSerial、wifiMac、wifiList、bluetoothMac）。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">接口参数：</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">&lt;context&gt;：Context类型，传入您应用的上下文。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">&lt;appkey&gt;：String类型，设置为您的SDK认证密钥。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">&lt;type&gt;：CollectType类型，设置采集模式。取值：</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">DEFAULT：表示采集全量数据。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">NO_GRANTED：表示采集除需授权字段外的数据。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">返回值：int类型，返回初始化结果，0表示成功，-1表示失败。</span></span></p><h5 data-source-line="52" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 15px;">java层:</span></h5><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">加载so与定义几个Native方法：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="java"><code><span class="code-snippet_outer"><span style="font-size: 15px;">public class TigerTallyAPI {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    protected static final String TAG = &#34;Alibg_SDK&#34;;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    private static final ExecutorService executorService;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    private static int initRet;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    private static a sensorInitInfo;</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    static {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        TigerTallyAPI.executorService = Executors.newSingleThreadExecutor();</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        TigerTallyAPI.sensorInitInfo = null;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        System.loadLibrary(&#34;tiger_tally&#34;);</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    }</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    private static native int _genericNt(String arg0, int arg1) {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    private static native int _genericNt2(int arg0, String[] arg1) {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    private static native String _genericNt3(int arg0, byte[] arg1) {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    static int access$100() {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        return TigerTallyAPI.initRet;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    private static int genericNt(String arg0, int arg1) {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        return TigerTallyAPI._genericNt(arg0, arg1);</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    private static int genericNt2(int arg0, String[] arg1) {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        return TigerTallyAPI._genericNt2(arg0, arg1);</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    //走到so层</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    public static int init(Context arg3, String arg4, int arg5) {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        AppInfo.setContext(arg3);</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        try {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">            TigerTallyAPI.initRet = 0;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">            CountDownLatch v0 = new CountDownLatch(1);</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">            TigerTallyAPI.genericNt2(2, new String[]{arg4});</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">            TigerTallyAPI.executorService.execute(new Runnable() {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                @Override</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                public final void run() {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                    try {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                        TigerTallyAPI.sensorInitInfo = AppInfo.rS();</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                        Thread.sleep(50L);</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                        TigerTallyAPI.initRet = TigerTallyAPI.genericNt(&#34;&#34;, this.a);</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                        AppInfo.uS(TigerTallyAPI.sensorInitInfo);</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                        TigerTallyAPI.access$100();</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                    }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                    catch(Throwable v0) {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                        try {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                            v0.printStackTrace();</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                        }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                        catch(Throwable v0_1) {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                            arg5.countDown();</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                            throw v0_1;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                        }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                    }</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                    arg5.countDown();</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">                }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">            });</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">            v0.await(100L, TimeUnit.MILLISECONDS);</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        }</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        catch(Throwable v3) {</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">            v3.printStackTrace();</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">            TigerTallyAPI.initRet = -1;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        }</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">        return TigerTallyAPI.initRet;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">    }</span></span></code></pre></section><p data-source-line="30" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">Native方法说明：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB138170 F2 F7 16 F8 BL              Dec_RiskString_sub_CEE741A0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB138174 DF F8 A8 C0 LDR.W           R12, =(off_CB215C28 - 0xCB13817E) ; &#34;_genericNt&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB138178 06 A9       ADD             R1, SP, #0x68+var_50</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">_genericNt2_sub_CDDFF308：解密appkey</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">_genericNt_sub_CDDFF2B4：获取设备信息，生成设备指纹</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">_genericNt3_sub_CDDFF500：签名生成</span></span></code></pre></section><p data-source-line="30" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-weight: 600;font-size: 15px;">Native层JNI_OnLoad:<br/></span></p><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">解密字符串，so中字符串都是加密的,全部解密方法如下:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D30             DecString_loc_CEE73D30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D30 2D E9 F0 4F PUSH.W          {R4-R11,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D34 85 B0       SUB             SP, SP, #0x14</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D36 03 92       STR             R2, [SP,#0xC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D38 42 F6 A0 62+MOV             R2, #0xAD992EA0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D38 CA F6 99 52</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D40 11 44       ADD             R1, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D42 10 44       ADD             R0, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D44 4F 4A       LDR             R2, =(off_CB21C5F8 - 0xCB129D50)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D46 02 91       STR             R1, [SP,#8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D48 4F F6 42 5A MOVW            R10, #0xFD42</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D4C 7A 44       ADD             R2, PC                  ; off_CB21C5F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D4E DD F8 38 C0 LDR.W           R12, [SP,#0x38]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D52 4D F6 AF 06 MOVW            R6, #0xD8AF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D56 04 90       STR             R0, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D58 12 68       LDR             R2, [R2]                ; off_CB21D280</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D5A 0E 20       MOVS            R0, #0xE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D5C 01 92       STR             R2, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D5E 4F F0 00 08 MOV.W           R8, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D62 49 4A       LDR             R2, =(off_CB21C5FC - 0xCB129D74)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D64 C0 F6 1B 5A MOVT            R10, #0xD1B</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D68 49 F6 9D 75 MOVW            R5, #0x9F9D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D6C CF F2 5B 66 MOVT            R6, #0xF65B</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D70 7A 44       ADD             R2, PC                  ; off_CB21C5FC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D72 D2 F8 00 90 LDR.W           R9, [R2]                ; off_CB21D1F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D76 45 4A       LDR             R2, =(off_CB21C5F8 - 0xCB129D7C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D78 7A 44       ADD             R2, PC                  ; off_CB21C5F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D7A 17 68       LDR             R7, [R2]                ; off_CB21D280</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D7C 40 4A       LDR             R2, =(off_CB21C5F8 - 0xCB129D82)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D7E 7A 44       ADD             R2, PC                  ; off_CB21C5F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D80 11 68       LDR             R1, [R2]                ; off_CB21D280</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D82 44 4A       LDR             R2, =(off_CB21C600 - 0xCB129D8E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D84 00 91       STR             R1, [SP]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D86 44 F6 A7 61 MOVW            R1, #0x4EA7</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D8A 7A 44       ADD             R2, PC                  ; off_CB21C600</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D8C C8 F2 54 41 MOVT            R1, #0x8454</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D90 D2 F8 00 E0 LDR.W           LR, [R2]                ; unk_CB21D250</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D94 3E 4A       LDR             R2, =(off_CB21C5F8 - 0xCB129D9A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D96 7A 44       ADD             R2, PC                  ; off_CB21C5F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D98 D2 F8 00 B0 LDR.W           R11, [R2]               ; off_CB21D280</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D9C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D9C                                                     ; .text:CB129E6C↓j</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D9C                                                     ; DATA XREF: ...</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D9C 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129D9E 0D 2A       CMP             R2, #0xD</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DA0 00 F3 55 80 BGT.W           loc_CB129E4E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DA4 09 2A       CMP             R2, #9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DA6 1C D1       BNE             loc_CB129DE2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DA8 01 9A       LDR             R2, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DAA 50 69       LDR             R0, [R2,#0x14]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DAC D2 F8 A4 20 LDR.W           R2, [R2,#0xA4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DB0 50 43       MULS            R0, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DB2 50 45       CMP             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DB4 01 D1       BNE             loc_CB129DBA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DB6 09 22       MOVS            R2, #9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DB8 43 E0       B               loc_CB129E42</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DBA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DBA             loc_CB129DBA            </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DBA 8C F8 00 30 STRB.W          R3, [R12]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DBE B9 F8 56 00 LDRH.W          R0, [R9,#(word_CB21D246 - 0xCB21D1F0)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DC2 A8 42       CMP             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DC4 30 D0       BEQ             loc_CB129E28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DC6 B8 88       LDRH            R0, [R7,#(dword_CB21D284 - 0xCB21D280)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DC8 0D 6A       LDR             R5, [R1,#0x20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DCA 7C 3A       SUBS            R2, #0x7C ; &#39;|&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DCC 6A 01       LSLS            R2, R5, #5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DCE C6 6E       LDR             R6, [R0,#0x6C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DD0 89 F1 78 69+DCD 0x6978F189, 0x20A4F8D7, 0x22094350, 0xD1EC4550</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DE0 2F E0       B               loc_CB129E42</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DE2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DE2             loc_CB129DE2 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DE2 02 98       LDR             R0, [SP,#8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DE4 75 46       MOV             R5, LR</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DE6 04 9C       LDR             R4, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DE8 43 F2 E0 2E+MOV             LR, #0x89DD32E0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DE8 C8 F6 DD 1E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DF0 10 F8 08 00 LDRB.W          R0, [R0,R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DF4 6A 30       ADDS            R0, #0x6A ; &#39;j&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DF6 80 EA 08 00 EOR.W           R0, R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DFA 18 44       ADD             R0, R3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129DFC 04 F8 08 00 STRB.W          R0, [R4,R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E00 08 F1 01 08 ADD.W           R8, R8, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E04 00 9C       LDR             R4, [SP]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E06 D4 F8 CC 00 LDR.W           R0, [R4,#0xCC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E0A D4 F8 20 41 LDR.W           R4, [R4,#0x120]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E0E 44 43       MULS            R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E10 03 98       LDR             R0, [SP,#0xC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E12 80 45       CMP             R8, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E14 4F F0 09 00 MOV.W           R0, #9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E18 38 BF       IT CC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E1A 08 20       MOVCC           R0, #8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E1C 74 45       CMP             R4, LR</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E1E AE 46       MOV             LR, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E20 49 F6 9D 75 MOVW            R5, #0x9F9D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E24 BA D0       BEQ             loc_CB129D9C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E26 14 E0       B               loc_CB129E52</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E28             loc_CB129E28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E28 10 22       MOVS            R2, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E2A 20 E0       B               loc_CB129E6E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E2C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E2C             loc_CB129E2C  </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E2C BC 97       STR             R7, [SP,#0x2F0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E2E 4A 5B       LDRH            R2, [R1,R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E30 25 48       LDR             R0, loc_CB129EC6+2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E32 7F 4E       LDR             R6, loc_CB12A02E+2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E34 05 E0       B               loc_CB129E42</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E36</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E36             loc_CB129E36</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E36 59 D1       BNE             loc_CB129EEC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E38 FD 64       STR             R5, [R7,#(off_CB21D2CC - 0xCB21D280)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E3A A9 1F       SUBS            R1, R5, #6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E3C             loc_CB129E3C </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E3C FC CB       LDM             R3, {R2-R7}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E3E 3A 1F       SUBS            R2, R7, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E40 59 4A       LDR             R2, =unk_E0026909</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E42</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E42             loc_CB129E42</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E42 1C 38       SUBS            R0, #0x1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E44 C9 2E       CMP             R6, #0xC9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E46 C7 92       STR             R2, [SP,#0x31C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E48 9D 3F       SUBS            R7, #0x9D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E4A 1B E8       DCW 0xE81B</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E4C F6 DA       BGE             loc_CB129E3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E4E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E4E             loc_CB129E4E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E4E 10 2A       CMP             R2, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E50 0D DA       BGE             loc_CB129E6E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E52</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E52             loc_CB129E52</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E52 9C F8 00 40 LDRB.W          R4, [R12]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E56 90 1C       ADDS            R0, R2, #2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E58 4F F0 00 08 MOV.W           R8, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E5C 00 2C       CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E5E 08 BF       IT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E60 82 F0 06 00 EOREQ.W         R0, R2, #6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E64 9E F8 27 40 LDRB.W          R4, [LR,#(byte_CB21D277 - 0xCB21D250)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E68 95 2C       CMP             R4, #0x95</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E6A E4 D1       BNE             loc_CB129E36</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E6C 96 E7       B               loc_CB129D9C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E6E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E6E             loc_CB129E6E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E6E DB F8 D4 00 LDR.W           R0, [R11,#(dword_CB21D354 - 0xCB21D280)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E72 48 43       MULS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E74 B0 42       CMP             R0, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E76 D9 D0       BEQ             loc_CB129E2C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E78 04 98       LDR             R0, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E7A 05 B0       ADD             SP, SP, #0x14</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB129E7C BD E8 F0 8F POP.W           {R4-R11,PC}</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">注册Native方法：</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">解密Native方法名</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="kotlin"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C28                                                     ; &#34;_genericNt&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C2C 5E 31 22 CB DCD aLjavaLangStrin                     ; &#34;(Ljava/lang/String;I)I&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C30 B5 42 14 CB DCD _genericNt_sub_CDDFF2B4+1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C34 4B 30 22 CB DCD aGenericnt2                         ; &#34;_genericNt2&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C38 33 30 22 CB DCD aILjavaLangStri                     ; &#34;(I[Ljava/lang/String;)I&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C3C 09 43 14 CB DCD _genericNt2_sub_CDDFF308+1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C40 27 30 22 CB off_CB215C40 DCD aGenericnt3            ; DATA XREF: RegNative_sub_CDB0C110+72↑o</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C40                                                     ; &#34;_genericNt3&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C44 0F 30 22 CB DCD aIBLjavaLangStr                     ; &#34;(I[B)Ljava/lang/String;&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C48 01 45 14 CB DCD _genericNt3_sub_CDDFF500+1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C4C 0A 30 22 CB DCD aOnsc                               ; &#34;onSc&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C50 AF 2F 22 CB DCD aLandroidHardwa                     ; &#34;(Landroid/hardware/SensorManager;Lcom/a&#34;...</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.data.rel.ro:CB215C54 19 46 14 CB DCD onSc_sub_CDDFF618+1</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">注册方法</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1381D8 F1 F7 AA FD BL              DecString_loc_CEE73D30  ; com/aliyun/TigerTally/TigerTallyAPI</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1381DC 03 99       LDR             R1, [SP,#0x68+var_5C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1381DE 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1381E0 0B F0 3A FF BL              RegNative_loc_CEE8E058 //RegisterNatives</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1381E4 0C 49       LDR             R1, =(__stack_chk_guard_ptr - 0xCB1381EC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1381E6 12 9A       LDR             R2, [SP,#0x68+var_20]</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><br/></p><h4 data-source-line="312" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">3.2、解密APPKEY</span></h4><h6 data-source-line="313" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 15px;">native int _genericNt2(int arg0, String[] arg1)</span></h6><p data-source-line="314" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">获取java层传入的sdk appkey</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131490             getString_sub_CF0FF490 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131490</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131490             var_30= -0x30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131490             var_28= -0x28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131490             var_21= -0x21</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131490             var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131490</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131490             ; __unwind { // CB1C8914</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131490 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131492 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131494 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131498 85 B0       SUB             SP, SP, #0x14</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13149A 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13149C 38 48       LDR             R0, =(__stack_chk_guard_ptr - 0xCB1314A6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13149E 0E 46       MOV             R6, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314A0 91 46       MOV             R9, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314A2 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314A4 00 2E       CMP             R6, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314A6 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314A8 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314AA 07 F8 21 3C STRB.W          R3, [R7,#var_21]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314AE 04 90       STR             R0, [SP,#0x30+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314B0 24 D0       BEQ             loc_CB1314FC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314B2 B9 F1 00 0F CMP.W           R9, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314B6 21 D0       BEQ             loc_CB1314FC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314B8 30 68       LDR             R0, [R6]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314BA A7 F1 21 02 SUB.W           R2, R7, #-var_21</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314BE 49 46       MOV             R1, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314C0 D0 F8 A4 32 LDR.W           R3, [R0,#0x2A4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314C4 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314C6 98 47       BLX             R3                      ; GetStringUTFChars</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314C8 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314CA B8 F1 00 0F CMP.W           R8, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314CE 15 D0       BEQ             loc_CB1314FC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314D0 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314D2 02 90       STR             R0, [SP,#0x30+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314D4 CD E9 00 00 STRD.W          R0, R0, [SP,#0x30+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314D8 40 46       MOV             R0, R8                  ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314DA F7 F7 CE E8 BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314DE 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314E0 15 F1 10 0F CMN.W           R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314E4 3D D2       BCS             loc_CB131562</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314E6 0B 2D       CMP             R5, #0xB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314E8 0D D2       BCS             loc_CB131506</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314EA 68 00       LSLS            R0, R5, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314EC 00 2D       CMP             R5, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314EE 8D F8 00 00 STRB.W          R0, [SP,#0x30+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314F2 68 46       MOV             R0, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314F4 40 F0 01 0A ORR.W           R10, R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314F8 13 D1       BNE             loc_CB131522</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314FA 17 E0       B               loc_CB13152C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314FC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314FC             loc_CB1314FC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314FC 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB1314FE 20 60       STR             R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131500 60 60       STR             R0, [R4,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131502 A0 60       STR             R0, [R4,#8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131504 20 E0       B               loc_CB131548</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131506             loc_CB131506</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131506 05 F1 10 00 ADD.W           R0, R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13150A 20 F0 0F 0B BIC.W           R11, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13150E 58 46       MOV             R0, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131510 98 F0 BA FF BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131514 82 46       MOV             R10, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131516 4B F0 01 00 ORR.W           R0, R11, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13151A CD F8 08 A0 STR.W           R10, [SP,#0x30+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13151E CD E9 00 05 STRD.W          R0, R5, [SP,#0x30+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131522</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131522             loc_CB131522</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131522 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131524 41 46       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131526 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131528 F7 F7 12 E9 BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13152C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13152C             loc_CB13152C </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13152C 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13152E 0A F8 05 00 STRB.W          R0, [R10,R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131532 30 68       LDR             R0, [R6]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131534 D0 F8 A8 32 LDR.W           R3, [R0,#0x2A8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131538 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13153A 49 46       MOV             R1, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13153C 42 46       MOV             R2, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13153E 98 47       BLX             R3                      ; ReleaseStringUTFChars</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131540 68 46       MOV             R0, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131542 90 E8 0E 00 LDM.W           R0, {R1-R3}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131546 0E C4       STM             R4!, {R1-R3}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131548</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131548             loc_CB131548</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131548 0E 48       LDR             R0, =(__stack_chk_guard_ptr - 0xCB131550)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13154A 04 99       LDR             R1, [SP,#0x30+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13154C 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13154E 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131550 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131552 40 1A       SUBS            R0, R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131554 02 BF       ITTT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131556 05 B0       ADDEQ           SP, SP, #0x14</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB131558 BD E8 00 0F POPEQ.W         {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:CB13155C F0 BD       POPEQ           {R4-R7,PC}</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">获取到的sdk appkey</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD3C0  73 76 67 46 39 77 6B 42  42 62 36 32 62 7A 70 78  svgF9wkBBb62bzpx</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD3D0  41 68 55 75 75 37 70 73  4F 6C 57 35 37 52 79 77  AhUuu7psOlW57Ryw</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD3E0  53 52 49 38 73 4C 52 6C  62 43 76 4F 62 6C 50 4D  SRI8sLRlbCvOblPM</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD3F0  79 6D 6E 69 63 47 71 48  6B 54 34 69 51 4C 30 71  ymnicGqHkT4iQL0q</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD400  62 2D 69 55 54 52 33 43  4E 6E 67 64 50 71 73 43  b-iUTR3CNngdPqsC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD410  35 6C 7A 31 62 45 61 46  4C 78 54 35 47 53 69 33  5lz1bEaFLxT5GSi3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD420  51 66 57 6B 5A 35 64 63  67 69 4F 6C 39 61 5F 6A  QfWkZ5dcgiOl9a_j</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD430  47 5A 4D 75 4E 62 41 61  52 41 55 76 43 74 52 7A  GZMuNbFaSAUvCtRz</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD440  4E 54 6A 57 54 4E 30 56  5F 62 51 63 79 75 72 52  NTjWTN0V_bQcyurR</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">E2CAD450  72 6D 4F 70 30 41 3D 3D  00 00 00 00 00 00 31 31  rmOp0A==</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">Base64与AES解密appkey</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             DecAppkey_SplitStr_sub_CF15C1C0 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_150= -0x150</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_148= -0x148</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             ptr= -0x144</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             s= -0x140</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_13C= -0x13C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_138= -0x138</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_134= -0x134</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_130= -0x130</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_12C= -0x12C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_128= -0x128</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_124= -0x124</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_120= -0x120</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_11C= -0x11C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_118= -0x118</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_114= -0x114</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_110= -0x110</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_10C= -0x10C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_108= -0x108</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_104= -0x104</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_100= -0x100</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_FC= -0xFC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_F8= -0xF8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_F4= -0xF4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_F0= -0xF0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             anonymous_0= -0xEC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_E8= -0xE8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_E4= -0xE4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_E0= -0xE0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0             ; __unwind { // CB1C8914</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C0 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C2 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C4 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1C8 CD B0       SUB             SP, SP, #0x134</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1CA 81 46       MOV             R9, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1CC DF F8 0C 08 LDR.W           R0, =(__stack_chk_guard_ptr - 0xCB18E1D6)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1D0 88 46       MOV             R8, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1D2 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1D4 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1D6 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1D8 4C 90       STR             R0, [SP,#0x150+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1DA 00 F0 25 FC BL              DecString_loc_C5D9FA28</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1DE 00 26       MOVS            R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1E0 CB 46       MOV             R11, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1E2 48 46       MOV             R0, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1E4 2C 21       MOVS            R1, #0x2C ; &#39;,&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1E6 C9 F8 94 60 STR.W           R6, [R9,#0x94]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1EA 4B F8 90 6F STR.W           R6, [R11,#0x90]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1EE 9A F7 7A EA BLX             __aeabi_memclr4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1F2 09 F1 38 0A ADD.W           R10, R9, #0x38 ; &#39;8&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1F6 54 21       MOVS            R1, #0x54 ; &#39;T&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1F8 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1FA 9A F7 74 EA BLX             __aeabi_memclr4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E1FE 48 46       MOV             R0, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E200 C9 F8 8C B0 STR.W           R11, [R9,#0x8C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E204 40 F8 9C 6F STR.W           R6, [R0,#0x9C]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E208 09 F1 C8 04 ADD.W           R4, R9, #0xC8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E20C 17 90       STR             R0, [SP,#0x150+var_F4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E20E 4D 46       MOV             R5, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E210 C9 F8 98 00 STR.W           R0, [R9,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E214 48 46       MOV             R0, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E216 40 F8 A8 6F STR.W           R6, [R0,#0xA8]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E21A 30 21       MOVS            R1, #0x30 ; &#39;0&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E21C C9 F8 A0 60 STR.W           R6, [R9,#0xA0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E220 16 90       STR             R0, [SP,#0x150+var_F8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E222 C9 F8 A4 00 STR.W           R0, [R9,#0xA4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E226 48 46       MOV             R0, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E228 40 F8 B4 6F STR.W           R6, [R0,#0xB4]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E22C C9 F8 AC 60 STR.W           R6, [R9,#0xAC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E230 15 90       STR             R0, [SP,#0x150+var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E232 C9 F8 B0 00 STR.W           R0, [R9,#0xB0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E236 48 46       MOV             R0, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E238 C9 F8 C4 60 STR.W           R6, [R9,#0xC4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E23C 40 F8 C0 6F STR.W           R6, [R0,#0xC0]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E240 C9 F8 B8 60 STR.W           R6, [R9,#0xB8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E244 14 90       STR             R0, [SP,#0x150+var_100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E246 C9 F8 BC 00 STR.W           R0, [R9,#0xBC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E24A 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E24C C9 E9 40 66 STRD.W          R6, R6, [R9,#0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E250 45 F8 FC 6F STR.W           R6, [R5,#0xFC]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E254 9A F7 46 EA BLX             __aeabi_memclr4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E258 4B 46       MOV             R3, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E25A 0B 95       STR             R5, [SP,#0x150+var_124]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E25C 2E 80       STRH            R6, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E25E 23 F8 5C 6F STRH.W          R6, [R3,#0x5C]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E262 18 46       MOV             R0, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E264 1D 46       MOV             R5, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E266 20 F8 24 6F STRH.W          R6, [R0,#0x24]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E26A 0C 90       STR             R0, [SP,#0x150+var_120]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E26C 18 46       MOV             R0, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E26E 20 F8 18 6F STRH.W          R6, [R0,#0x18]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E272 0D 90       STR             R0, [SP,#0x150+var_11C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E274 25 F8 0C 6F STRH.W          R6, [R5,#0xC]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E278 13 F8 3C 0C LDRB.W          R0, [R3,#-0x3C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E27C C0 07       LSLS            R0, R0, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E27E 02 D1       BNE             loc_CB18E286</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E280 A9 F8 20 60 STRH.W          R6, [R9,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E284 04 E0       B               loc_CB18E290</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E286</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E286             loc_CB18E286 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E286 D9 F8 28 00 LDR.W           R0, [R9,#0x28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E28A 06 70       STRB            R6, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E28C C9 F8 24 60 STR.W           R6, [R9,#0x24]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E290</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E290             loc_CB18E290</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E290 99 F8 00 00 LDRB.W          R0, [R9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E294 C0 07       LSLS            R0, R0, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E296 03 D1       BNE             loc_CB18E2A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E298 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E29A A9 F8 00 00 STRH.W          R0, [R9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E29E 05 E0       B               loc_CB18E2AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2A0             loc_CB18E2A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2A0 D9 F8 08 00 LDR.W           R0, [R9,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2A4 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2A6 01 70       STRB            R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2A8 C9 F8 04 10 STR.W           R1, [R9,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2AC             loc_CB18E2AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2AC 09 F1 BC 00 ADD.W           R0, R9, #0xBC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2B0 11 90       STR             R0, [SP,#0x150+var_10C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2B2 09 F1 B0 00 ADD.W           R0, R9, #0xB0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2B6 12 90       STR             R0, [SP,#0x150+var_108]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2B8 09 F1 A4 00 ADD.W           R0, R9, #0xA4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2BC 13 90       STR             R0, [SP,#0x150+var_104]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2BE 09 F1 98 00 ADD.W           R0, R9, #0x98</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2C2 10 90       STR             R0, [SP,#0x150+var_110]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2C4 99 F8 0C 10 LDRB.W          R1, [R9,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2C8 09 F1 8C 00 ADD.W           R0, R9, #0x8C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2CC 07 94       STR             R4, [SP,#0x150+var_134]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2CE C9 07       LSLS            R1, R1, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2D0 03 D1       BNE             loc_CB18E2DA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2D2 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2D4 A9 F8 0C 10 STRH.W          R1, [R9,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2D8 05 E0       B               loc_CB18E2E6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2DA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2DA             loc_CB18E2DA </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2DA D9 F8 14 20 LDR.W           R2, [R9,#0x14]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2DE 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2E0 11 70       STRB            R1, [R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2E2 C9 F8 10 10 STR.W           R1, [R9,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2E6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2E6             loc_CB18E2E6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2E6 99 F8 38 10 LDRB.W          R1, [R9,#0x38]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2EA 00 26       MOVS            R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2EC A3 F1 40 02 SUB.W           R2, R3, #0x40 ; &#39;@&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2F0 C9 F8 34 60 STR.W           R6, [R9,#0x34]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2F4 A3 F1 44 04 SUB.W           R4, R3, #0x44 ; &#39;D&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2F8 0A 94       STR             R4, [SP,#0x150+var_128]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2FA C9 07       LSLS            R1, R1, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2FC 08 92       STR             R2, [SP,#0x150+var_130]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E2FE CD E9 0E 53 STRD.W          R5, R3, [SP,#0x150+var_118]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E302 02 D1       BNE             loc_CB18E30A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E304 AA F8 00 60 STRH.W          R6, [R10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E308 04 E0       B               loc_CB18E314</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E30A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E30A             loc_CB18E30A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E30A D9 F8 40 10 LDR.W           R1, [R9,#0x40]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E30E 0E 70       STRB            R6, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E310 C9 F8 3C 60 STR.W           R6, [R9,#0x3C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E314</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E314             loc_CB18E314</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E314 D9 F8 90 10 LDR.W           R1, [R9,#0x90]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E318 D9 F8 44 30 LDR.W           R3, [R9,#0x44]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E31C D9 F8 50 20 LDR.W           R2, [R9,#0x50]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E320 C9 F8 48 30 STR.W           R3, [R9,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E324 C9 F8 54 20 STR.W           R2, [R9,#0x54]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E328 06 90       STR             R0, [SP,#0x150+var_138]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E32A 00 F0 6F FF BL              nop_sub_CF15D20C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E32E 00 26       MOVS            R6, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E330 D9 F8 9C 10 LDR.W           R1, [R9,#0x9C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E334 CD F8 24 B0 STR.W           R11, [SP,#0x150+var_12C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E338 C9 E9 23 B6 STRD.W          R11, R6, [R9,#0x8C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E33C C9 F8 94 60 STR.W           R6, [R9,#0x94]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E340 DD F8 40 B0 LDR.W           R11, [SP,#0x150+var_110]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E344 58 46       MOV             R0, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E346 00 F0 61 FF BL              nop_sub_CF15D20C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E34A 17 98       LDR             R0, [SP,#0x150+var_F4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E34C D9 F8 B4 10 LDR.W           R1, [R9,#0xB4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E350 C9 E9 26 06 STRD.W          R0, R6, [R9,#0x98]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E354 C9 F8 A0 60 STR.W           R6, [R9,#0xA0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E358 12 98       LDR             R0, [SP,#0x150+var_108]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E35A 00 F0 57 FF BL              nop_sub_CF15D20C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E35E 15 98       LDR             R0, [SP,#0x150+var_FC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E360 D9 F8 A8 10 LDR.W           R1, [R9,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E364 C9 E9 2C 06 STRD.W          R0, R6, [R9,#0xB0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E368 C9 F8 B8 60 STR.W           R6, [R9,#0xB8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E36C 13 98       LDR             R0, [SP,#0x150+var_104]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E36E 00 F0 4D FF BL              nop_sub_CF15D20C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E372 16 98       LDR             R0, [SP,#0x150+var_F8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E374 D9 F8 C0 10 LDR.W           R1, [R9,#0xC0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E378 C9 E9 29 06 STRD.W          R0, R6, [R9,#0xA4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E37C C9 F8 AC 60 STR.W           R6, [R9,#0xAC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E380 11 98       LDR             R0, [SP,#0x150+var_10C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E382 00 F0 43 FF BL              nop_sub_CF15D20C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E386 14 9D       LDR             R5, [SP,#0x150+var_100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E388 2C 24       MOVS            R4, #0x2C ; &#39;,&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E38A D9 F8 C8 00 LDR.W           R0, [R9,#0xC8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E38E D9 F8 D4 10 LDR.W           R1, [R9,#0xD4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E392 D9 F8 E0 20 LDR.W           R2, [R9,#0xE0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E396 D9 F8 EC 30 LDR.W           R3, [R9,#0xEC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E39A C9 E9 2F 56 STRD.W          R5, R6, [R9,#0xBC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E39E 64 25       MOVS            R5, #0x64 ; &#39;d&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3A0 C9 F8 C4 60 STR.W           R6, [R9,#0xC4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3A4 89 F8 1C 61 STRB.W          R6, [R9,#0x11C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3A8 89 F8 32 60 STRB.W          R6, [R9,#0x32]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3AC A9 F8 30 60 STRH.W          R6, [R9,#0x30]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3B0 C9 F8 2C 60 STR.W           R6, [R9,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3B4 48 F2 1F 56+MOV             R6, #0x51EB851F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3B4 C5 F2 EB 16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3BC C9 F8 CC 00 STR.W           R0, [R9,#0xCC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3C0 C9 F8 D8 10 STR.W           R1, [R9,#0xD8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3C4 C9 F8 E4 20 STR.W           R2, [R9,#0xE4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3C8 C9 F8 F0 30 STR.W           R3, [R9,#0xF0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3CC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3CC             loc_CB18E3CC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3CC 9A F7 E0 EA BLX             arc4random</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3D0 A0 FB 06 12 UMULL.W         R1, R2, R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3D4 51 09       LSRS            R1, R2, #5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3D6 01 FB 15 00 MLS.W           R0, R1, R5, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3DA A4 F1 2C 01 SUB.W           R1, R4, #0x2C ; &#39;,&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3DE 06 29       CMP             R1, #6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3E0 09 F8 04 00 STRB.W          R0, [R9,R4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3E4 04 F1 01 00 ADD.W           R0, R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3E8 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3EA EF D3       BCC             loc_CB18E3CC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3EC 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3EE 1B 90       STR             R0, [SP,#0x150+var_E4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3F0 40 46       MOV             R0, R8                  ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3F2 9A F7 42 E9 BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3F6 01 46       MOV             R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3F8 1B AA       ADD             R2, SP, #0x150+var_E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3FA 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3FC 01 23       MOVS            R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E3FE FF F7 77 FD BL              decBase64_sub_CF15BEF0  ; R3:1解密,R3:0加密</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E402 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E404 DF F8 D8 05 LDR.W           R0, =(off_CB219D7C - 0xCB18E412)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E408 2B 23       MOVS            R3, #0x2B ; &#39;+&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E40A DF F8 D8 15 LDR.W           R1, =(off_CB219D80 - 0xCB18E418)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E40E 78 44       ADD             R0, PC                  ; off_CB219D7C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E410 DF F8 D4 25 LDR.W           R2, =(unk_CB226C40 - 0xCB18E41C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E414 79 44       ADD             R1, PC                  ; off_CB219D80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E416 00 68       LDR             R0, [R0]                ; unk_DE32430B</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E418 7A 44       ADD             R2, PC                  ; unk_CB226C40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E41A 09 68       LDR             R1, [R1]                ; unk_DE30CE9A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E41C 00 92       STR             R2, [SP,#0x150+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E41E 11 22       MOVS            R2, #0x11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E420 00 F0 F2 FD BL              DecString_loc_CF15D008  ; 24e96202f2d6fe64,aeskey</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E424 DF F8 C8 15 LDR.W           R1, =(off_CB219D88 - 0xCB18E434)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E428 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E42A DF F8 C0 05 LDR.W           R0, =(off_CB219D84 - 0xCB18E43A)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E42E 6B 23       MOVS            R3, #0x6B ; &#39;k&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E430 79 44       ADD             R1, PC                  ; off_CB219D88</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E432 DF F8 C0 25 LDR.W           R2, =(unk_CB226C41 - 0xCB18E43C)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E436 78 44       ADD             R0, PC                  ; off_CB219D84</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E438 7A 44       ADD             R2, PC                  ; unk_CB226C41</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E43A 00 68       LDR             R0, [R0]                ; unk_DE3242FA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E43C 09 68       LDR             R1, [R1]                ; unk_DE30CE7A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E43E 00 92       STR             R2, [SP,#0x150+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E440 11 22       MOVS            R2, #0x11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E442 00 F0 E1 FD BL              DecString_loc_CF15D008  ; 632870a7427e3bdc iv</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E446 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E448 1C A8       ADD             R0, SP, #0x150+var_E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E44A 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E44C EF F7 CC FA BL              AES_initkey_sub_CDB519E8 ; R1:KEY,R2:IV</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E450 1B 9A       LDR             R2, [SP,#0x150+var_E4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E452 1C A8       ADD             R0, SP, #0x150+var_E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E454 41 46       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E456 F0 F7 9B FC BL              AES_DecAppkey_sub_CF14CD90 ; r0:key,r1:数据,r2:大小,r3:初始化key,r4:大小</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E45A DF F8 9C 05 LDR.W           R0, =(off_CB219D8C - 0xCB18E46A)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E45E 02 22       MOVS            R2, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E460 DF F8 98 15 LDR.W           R1, =(off_CB219D90 - 0xCB18E470)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E464 5C 23       MOVS            R3, #0x5C ; &#39;\&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E466 78 44       ADD             R0, PC                  ; off_CB219D8C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E468 DF F8 94 65 LDR.W           R6, =(unk_CB226C44 - 0xCB18E474)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E46C 79 44       ADD             R1, PC                  ; off_CB219D90</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E46E 00 68       LDR             R0, [R0]                ; unk_DE32426C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E470 7E 44       ADD             R6, PC                  ; unk_CB226C44</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E472 09 68       LDR             R1, [R1]                ; unk_DE30CE6B</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E474 00 96       STR             R6, [SP,#0x150+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E476 00 F0 C7 FD BL              DecString_loc_CF15D008  ; |</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E47A 01 46       MOV             R1, R0                  ; delim</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E47C 40 46       MOV             R0, R8                  ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E47E 9A F7 8E EA BLX             strtok</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E482 DF F8 84 15 LDR.W           R1, =(off_CB219D98 - 0xCB18E492)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E486 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E488 DF F8 78 05 LDR.W           R0, =(off_CB219D94 - 0xCB18E496)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E48C 02 22       MOVS            R2, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E48E 79 44       ADD             R1, PC                  ; off_CB219D98</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E490 5C 23       MOVS            R3, #0x5C ; &#39;\&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E492 78 44       ADD             R0, PC                  ; off_CB219D94</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E494 00 68       LDR             R0, [R0]                ; unk_DE32426C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E496 09 68       LDR             R1, [R1]                ; unk_DE30CE6B</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E498 00 96       STR             R6, [SP,#0x150+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E49A 00 F0 B5 FD BL              DecString_loc_CF15D008  ; |</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E49E 01 46       MOV             R1, R0                  ; delim</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4A0 00 20       MOVS            R0, #0                  ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4A2 9A F7 7C EA BLX             strtok</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4A6 DF F8 68 15 LDR.W           R1, =(off_CB219DA0 - 0xCB18E4B6)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4AA 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4AC DF F8 5C 05 LDR.W           R0, =(off_CB219D9C - 0xCB18E4BA)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4B0 02 22       MOVS            R2, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4B2 79 44       ADD             R1, PC                  ; off_CB219DA0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4B4 5C 23       MOVS            R3, #0x5C ; &#39;\&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4B6 78 44       ADD             R0, PC                  ; off_CB219D9C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4B8 00 68       LDR             R0, [R0]                ; unk_DE32426C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4BA 09 68       LDR             R1, [R1]                ; unk_DE30CE6B</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4BC 00 96       STR             R6, [SP,#0x150+var_150]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4BE 00 F0 A3 FD BL              DecString_loc_CF15D008  ; |</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4C2 01 46       MOV             R1, R0                  ; delim</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4C4 00 20       MOVS            R0, #0                  ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4C6 9A F7 6A EA BLX             strtok</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4CA 34 B3       CBZ             R4, loc_CB18E51A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4CC 2D B3       CBZ             R5, loc_CB18E51A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4CE 20 B3       CBZ             R0, loc_CB18E51A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4D0 DF F8 40 15 LDR.W           R1, =(asc_CB226C45 - 0xCB18E4DE) ; &#34;&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4D4 CD E9 04 04 STRD.W          R0, R4, [SP,#0x150+s]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4D8 28 46       MOV             R0, R5                  ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4DA 79 44       ADD             R1, PC                  ; &#34;&#34; ; delim</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4DC CD F8 08 A0 STR.W           R10, [SP,#0x150+var_148]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4E0 9A F7 5C EA BLX             strtok</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4E4 83 46       MOV             R11, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4E6 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4E8 1A 90       STR             R0, [SP,#0x150+var_E8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4EA CD E9 18 00 STRD.W          R0, R0, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4EE 58 46       MOV             R0, R11                 ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4F0 9A F7 C2 E8 BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4F4 82 46       MOV             R10, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4F6 1A F1 10 0F CMN.W           R10, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4FA 80 F0 AC 81 BCS.W           loc_CB18E856</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E4FE BA F1 0B 0F CMP.W           R10, #0xB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E502 12 D2       BCS             loc_CB18E52A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E504 4F EA 4A 00 MOV.W           R0, R10,LSL#1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E508 BA F1 00 0F CMP.W           R10, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E50C 8D F8 60 00 STRB.W          R0, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E510 18 A8       ADD             R0, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E512 40 F0 01 05 ORR.W           R5, R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E516 15 D1       BNE             loc_CB18E544</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E518 19 E0       B               loc_CB18E54E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E51A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E51A             loc_CB18E51A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E51A B8 F1 00 0F CMP.W           R8, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E51E 00 F0 8C 81 BEQ.W           loc_CB18E83A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E522 40 46       MOV             R0, R8                  ; ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E524 9A F7 1A E9 BLX             free</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E528 87 E1       B               loc_CB18E83A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E52A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E52A             loc_CB18E52A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E52A 0A F1 10 00 ADD.W           R0, R10, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E52E 20 F0 0F 06 BIC.W           R6, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E532 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E534 3B F0 A8 FF BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E538 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E53A 46 F0 01 00 ORR.W           R0, R6, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E53E 1A 95       STR             R5, [SP,#0x150+var_E8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E540 CD E9 18 0A STRD.W          R0, R10, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E544</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E544             loc_CB18E544</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E544 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E546 59 46       MOV             R1, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E548 52 46       MOV             R2, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E54A 9A F7 02 E9 BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E54E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E54E             loc_CB18E54E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E54E 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E550 05 F8 0A 00 STRB.W          R0, [R5,R10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E554 0F 9D       LDR             R5, [SP,#0x150+var_114]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E556 29 78       LDRB            R1, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E558 CD F8 0C 80 STR.W           R8, [SP,#0x150+ptr]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E55C C9 07       LSLS            R1, R1, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E55E 01 D1       BNE             loc_CB18E564</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E560 28 80       STRH            R0, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E562 04 E0       B               loc_CB18E56E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E564</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E564             loc_CB18E564</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E564 D9 F8 64 10 LDR.W           R1, [R9,#0x64]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E568 08 70       STRB            R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E56A C9 F8 60 00 STR.W           R0, [R9,#0x60]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E56E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E56E DD F8 14 B0 LDR.W           R11, [SP,#0x150+var_13C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E572 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E574 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E576 00 24       MOVS            R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E578 A4 F7 DE F8 BL              nop_sub_CF100738</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E57C 18 A8       ADD             R0, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E57E 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E580 DF F8 94 14 LDR.W           R1, =(asc_CB226C45 - 0xCB18E58E) ; &#34;&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E584 90 E8 68 00 LDM.W           R0, {R3,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E588 00 20       MOVS            R0, #0                  ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E58A 79 44       ADD             R1, PC                  ; &#34;&#34; ; delim</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E58C 68 C2       STM             R2!, {R3,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E58E 9A F7 06 EA BLX             strtok</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E592 1A 94       STR             R4, [SP,#0x150+var_E8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E594 82 46       MOV             R10, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E596 CD E9 18 44 STRD.W          R4, R4, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E59A 9A F7 6E E8 BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E59E 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5A0 15 F1 10 0F CMN.W           R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5A4 80 F0 5A 81 BCS.W           loc_CB18E85C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5A8 0B 2D       CMP             R5, #0xB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5AA 08 D2       BCS             loc_CB18E5BE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5AC 68 00       LSLS            R0, R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5AE 00 2D       CMP             R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5B0 8D F8 60 00 STRB.W          R0, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5B4 18 A8       ADD             R0, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5B6 40 F0 01 06 ORR.W           R6, R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5BA 0E D1       BNE             loc_CB18E5DA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5BC 12 E0       B               loc_CB18E5E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5BE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5BE             loc_CB18E5BE </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5BE 05 F1 10 00 ADD.W           R0, R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5C2 20 F0 0F 0B BIC.W           R11, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5C6 58 46       MOV             R0, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5C8 3B F0 5E FF BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5CC 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5CE 4B F0 01 00 ORR.W           R0, R11, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5D2 18 A9       ADD             R1, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5D4 61 C1       STM             R1!, {R0,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5D6 DD F8 14 B0 LDR.W           R11, [SP,#0x150+var_13C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5DA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5DA             loc_CB18E5DA </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5DA 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5DC 51 46       MOV             R1, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5DE 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5E0 9A F7 B6 E8 BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5E4             loc_CB18E5E4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5E4 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5E6 70 55       STRB            R0, [R6,R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5E8 0E 9D       LDR             R5, [SP,#0x150+var_118]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5EA 29 78       LDRB            R1, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5EC C9 07       LSLS            R1, R1, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5EE 01 D1       BNE             loc_CB18E5F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5F0 28 80       STRH            R0, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5F2 04 E0       B               loc_CB18E5FE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5F4             loc_CB18E5F4 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5F4 D9 F8 70 10 LDR.W           R1, [R9,#0x70]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5F8 08 70       STRB            R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5FA C9 F8 6C 00 STR.W           R0, [R9,#0x6C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5FE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5FE             loc_CB18E5FE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E5FE 0D F1 60 0A ADD.W           R10, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E602 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E604 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E606 00 24       MOVS            R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E608 A4 F7 96 F8 BL              nop_sub_CF100738</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E60C 52 46       MOV             R2, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E60E 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E610 92 E8 68 00 LDM.W           R2, {R3,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E614 DF F8 04 14 LDR.W           R1, =(asc_CB226C45 - 0xCB18E61C) ; &#34;&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E618 79 44       ADD             R1, PC                  ; &#34;&#34; ; delim</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E61A 68 C0       STM             R0!, {R3,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E61C 04 98       LDR             R0, [SP,#0x150+s]       ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E61E 9A F7 BE E9 BLX             strtok</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E622 1A 94       STR             R4, [SP,#0x150+var_E8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E624 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E626 CD E9 18 44 STRD.W          R4, R4, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E62A 9A F7 26 E8 BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E62E 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E630 15 F1 10 0F CMN.W           R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E634 80 F0 15 81 BCS.W           loc_CB18E862</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E638 0B 2D       CMP             R5, #0xB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E63A 07 D2       BCS             loc_CB18E64C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E63C 4A F0 01 06 ORR.W           R6, R10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E640 68 00       LSLS            R0, R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E642 00 2D       CMP             R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E644 8D F8 60 00 STRB.W          R0, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E648 0E D1       BNE             loc_CB18E668</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E64A 12 E0       B               loc_CB18E672</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E64C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E64C             loc_CB18E64C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E64C 05 F1 10 00 ADD.W           R0, R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E650 20 F0 0F 0A BIC.W           R10, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E654 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E656 3B F0 17 FF BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E65A 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E65C 4A F0 01 00 ORR.W           R0, R10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E660 18 A9       ADD             R1, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E662 61 C1       STM             R1!, {R0,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E664 0D F1 60 0A ADD.W           R10, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E668</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E668             loc_CB18E668 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E668 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E66A 41 46       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E66C 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E66E 9A F7 70 E8 BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E672</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E672             loc_CB18E672 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E672 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E674 70 55       STRB            R0, [R6,R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E676 0D 9D       LDR             R5, [SP,#0x150+var_11C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E678 29 78       LDRB            R1, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E67A C9 07       LSLS            R1, R1, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E67C 01 D1       BNE             loc_CB18E682</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E67E 28 80       STRH            R0, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E680 04 E0       B               loc_CB18E68C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E682</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E682             loc_CB18E682 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E682 D9 F8 7C 10 LDR.W           R1, [R9,#0x7C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E686 08 70       STRB            R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E688 C9 F8 78 00 STR.W           R0, [R9,#0x78]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E68C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E68C             loc_CB18E68C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E68C 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E68E 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E690 00 24       MOVS            R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E692 A4 F7 51 F8 BL              nop_sub_CF100738</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E696 52 46       MOV             R2, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E698 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E69A 92 E8 68 00 LDM.W           R2, {R3,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E69E E0 49       LDR             R1, =(asc_CB226C45 - 0xCB18E6A4) ; &#34;&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6A0 79 44       ADD             R1, PC                  ; &#34;&#34; ; delim</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6A2 68 C0       STM             R0!, {R3,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6A4 00 20       MOVS            R0, #0                  ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6A6 9A F7 7A E9 BLX             strtok</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6AA 1A 94       STR             R4, [SP,#0x150+var_E8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6AC 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6AE CD E9 18 44 STRD.W          R4, R4, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6B2 99 F7 E2 EF BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6B6 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6B8 15 F1 10 0F CMN.W           R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6BC 80 F0 D4 80 BCS.W           loc_CB18E868</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6C0 0B 2D       CMP             R5, #0xB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6C2 07 D2       BCS             loc_CB18E6D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6C4 4A F0 01 06 ORR.W           R6, R10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6C8 68 00       LSLS            R0, R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6CA 00 2D       CMP             R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6CC 8D F8 60 00 STRB.W          R0, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6D0 0E D1       BNE             loc_CB18E6F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6D2 12 E0       B               loc_CB18E6FA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6D4             loc_CB18E6D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6D4 05 F1 10 00 ADD.W           R0, R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6D8 20 F0 0F 0A BIC.W           R10, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6DC 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6DE 3B F0 D3 FE BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6E2 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6E4 4A F0 01 00 ORR.W           R0, R10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6E8 18 A9       ADD             R1, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6EA 61 C1       STM             R1!, {R0,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6EC 0D F1 60 0A ADD.W           R10, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6F0             loc_CB18E6F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6F0 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6F2 41 46       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6F4 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6F6 9A F7 2C E8 BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6FA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6FA             loc_CB18E6FA </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6FA 0C 9C       LDR             R4, [SP,#0x150+var_120]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6FC 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E6FE 70 55       STRB            R0, [R6,R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E700 21 78       LDRB            R1, [R4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E702 C9 07       LSLS            R1, R1, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E704 01 D1       BNE             loc_CB18E70A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E706 20 80       STRH            R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E708 04 E0       B               loc_CB18E714</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E70A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E70A             loc_CB18E70A </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E70A D9 F8 88 10 LDR.W           R1, [R9,#0x88]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E70E 08 70       STRB            R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E710 C9 F8 84 00 STR.W           R0, [R9,#0x84]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E714</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E714             loc_CB18E714 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E714 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E716 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E718 A4 F7 0E F8 BL              nop_sub_CF100738</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E71C 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E71E 90 E8 4C 00 LDM.W           R0, {R2,R3,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E722 4C C4       STM             R4!, {R2,R3,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E724 A9 F7 B8 FC BL              pthread_mutex_lock_sub_C59FF098</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E728 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E72A 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E72C 1A 90       STR             R0, [SP,#0x150+var_E8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E72E CD E9 18 00 STRD.W          R0, R0, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E732 58 46       MOV             R0, R11                 ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E734 99 F7 A0 EF BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E738 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E73A 15 F1 10 0F CMN.W           R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E73E 80 F0 96 80 BCS.W           loc_CB18E86E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E742 0B 2D       CMP             R5, #0xB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E744 07 D2       BCS             loc_CB18E756</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E746 4A F0 01 06 ORR.W           R6, R10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E74A 68 00       LSLS            R0, R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E74C 00 2D       CMP             R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E74E 8D F8 60 00 STRB.W          R0, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E752 0E D1       BNE             loc_CB18E772</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E754 12 E0       B               loc_CB18E77C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E756</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E756             loc_CB18E756</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E756 05 F1 10 00 ADD.W           R0, R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E75A 20 F0 0F 0A BIC.W           R10, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E75E 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E760 3B F0 92 FE BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E764 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E766 4A F0 01 00 ORR.W           R0, R10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E76A 18 A9       ADD             R1, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E76C 61 C1       STM             R1!, {R0,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E76E 0D F1 60 0A ADD.W           R10, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E772</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E772             loc_CB18E772 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E772 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E774 59 46       MOV             R1, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E776 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E778 99 F7 EA EF BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E77C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E77C             loc_CB18E77C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E77C 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E77E 70 55       STRB            R0, [R6,R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E780 45 46       MOV             R5, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E782 15 F8 18 1F LDRB.W          R1, [R5,#0x18]!</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E786 11 F0 01 0F TST.W           R1, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E78A 01 D1       BNE             loc_CB18E790</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E78C 28 80       STRH            R0, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E78E 04 E0       B               loc_CB18E79A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E790</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E790             loc_CB18E790</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E790 D8 F8 20 10 LDR.W           R1, [R8,#0x20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E794 08 70       STRB            R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E796 C8 F8 1C 00 STR.W           R0, [R8,#0x1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E79A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E79A             loc_CB18E79A </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E79A 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E79C 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E79E 00 24       MOVS            R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7A0 A3 F7 CA FF BL              nop_sub_CF100738</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7A4 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7A6 90 E8 0E 00 LDM.W           R0, {R1-R3}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7AA 58 46       MOV             R0, R11                 ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7AC 0E C5       STM             R5!, {R1-R3}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7AE 1A 94       STR             R4, [SP,#0x150+var_E8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7B0 CD E9 18 44 STRD.W          R4, R4, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7B4 99 F7 60 EF BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7B8 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7BA 15 F1 10 0F CMN.W           R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7BE 59 D2       BCS             loc_CB18E874</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7C0 0B 2D       CMP             R5, #0xB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7C2 07 D2       BCS             loc_CB18E7D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7C4 4A F0 01 06 ORR.W           R6, R10, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7C8 68 00       LSLS            R0, R5, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7CA 00 2D       CMP             R5, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7CC 8D F8 60 00 STRB.W          R0, [SP,#0x150+var_F0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7D0 0C D1       BNE             loc_CB18E7EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7D2 10 E0       B               loc_CB18E7F6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7D4             loc_CB18E7D4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7D4 05 F1 10 00 ADD.W           R0, R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7D8 20 F0 0F 08 BIC.W           R8, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7DC 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7DE 3B F0 53 FE BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7E2 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7E4 48 F0 01 00 ORR.W           R0, R8, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7E8 18 A9       ADD             R1, SP, #0x150+var_F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7EA 61 C1       STM             R1!, {R0,R5,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7EC             loc_CB18E7EC </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7EC 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7EE 59 46       MOV             R1, R11</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7F0 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7F2 99 F7 AE EF BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7F6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7F6             loc_CB18E7F6 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7F6 0B 9C       LDR             R4, [SP,#0x150+var_124]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7F8 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7FA 70 55       STRB            R0, [R6,R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7FC 21 78       LDRB            R1, [R4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E7FE C9 07       LSLS            R1, R1, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E800 01 D1       BNE             loc_CB18E806</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E802 20 80       STRH            R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E804 04 E0       B               loc_CB18E810</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E806</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E806             loc_CB18E806</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E806 D9 F8 04 11 LDR.W           R1, [R9,#0x104]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E80A 08 70       STRB            R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E80C C9 F8 00 01 STR.W           R0, [R9,#0x100]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E810</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E810             loc_CB18E810 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E810 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E812 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E814 A3 F7 90 FF BL              nop_sub_CF100738</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E818 9A E8 07 00 LDM.W           R10, {R0-R2}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E81C 07 C4       STM             R4!, {R0-R2}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E81E 03 98       LDR             R0, [SP,#0x150+ptr]     ; ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E820 08 B1       CBZ             R0, loc_CB18E826</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E822 99 F7 9C EF BLX             free</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E826</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E826             loc_CB18E826 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E826 0A 20       MOVS            R0, #0xA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E828 0D 21       MOVS            R1, #0xD</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E82A C9 E9 42 10 STRD.W          R1, R0, [R9,#0x108]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E82E 06 22       MOVS            R2, #6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E830 08 23       MOVS            R3, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E832 D2 26       MOVS            R6, #0xD2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E834 09 F5 88 70 ADD.W           R0, R9, #0x110</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E838 4C C0       STM             R0!, {R2,R3,R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E83A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E83A             loc_CB18E83A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E83A 7A 48       LDR             R0, =(__stack_chk_guard_ptr - 0xCB18E842)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E83C 4C 99       LDR             R1, [SP,#0x150+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E83E 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E840 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E842 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E844 40 1A       SUBS            R0, R0, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E846 01 BF       ITTTT EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E848 48 46       MOVEQ           R0, R9</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E84A 4D B0       ADDEQ           SP, SP, #0x134</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E84C BD E8 00 0F POPEQ.W         {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:CB18E850 F0 BD       POPEQ           {R4-R7,PC}</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">解密后得到几个字符串，后续做为密钥：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer"><span style="font-size: 15px;">55b4dc20eaf2a88a|0ea7_7dfd964a-0377-4188-ada7-0758b4f7f63b|ff4b_b5c0d0a4-4763-44e8-baa6-dfca9a66efdb</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">//拆分</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">0ea7_7dfd964a-0377-4188-ada7-0758b4f7f63b</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">0ea7</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">7dfd964a-0377-4188-ada7-0758b4f7f63b</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">ff4b</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">b5c0d0a4-4763-44e8-baa6-dfca9a66efdb</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">55b4dc20eaf2a88a</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><br/></p><h3 data-source-line="1154" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">四、环境检测与设备指纹</span></h3><h4 data-source-line="1155" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">4.1、环境风险检测</span></h4><h5 data-source-line="1156" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 15px;">检测xp、frida、miksg、hook、root、accessibility、debug</span></h5><h6 data-source-line="1157" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 15px;">检测root:</span></h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;com.thirdparty.superuser&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;com.noshufou.android.su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/daemonsu&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/subin/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/usr/we-need-root/su-backup&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/bin/.ext/.su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/sbin_orig/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/su/xbin&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/xbin/mu&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/su/su.d&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/su/suhide&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/vendor/bin/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/priv-app/Superuser.apk&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/app/Superuser.apk&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/data/local/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/bin/failsafe/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/sd/xbin/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/data/local/bin/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/data/local/xbin/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/xbin/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/system/bin/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/sbin/su&#34;,</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">&#34;/su/bin/su&#34;,</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB0             chekc_root_su_sub_C4732AB0 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB0             var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB0             var_18= -0x18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB0             var_14= -0x14</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB0             ; __unwind { // C7155914</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB0 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB2 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB4 4D F8 04 8D PUSH.W          {R8}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AB8 84 B0       SUB             SP, SP, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ABA 22 49       LDR             R1, =(__stack_chk_guard_ptr - 0xC7101AC0)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ABC 79 44       ADD             R1, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ABE 09 68       LDR             R1, [R1]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AC0 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AC2 03 91       STR             R1, [SP,#0x20+var_14]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AC4 D0 E9 00 45 LDRD.W          R4, R5, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AC8 AC 42       CMP             R4, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ACA 1E D0       BEQ             loc_C7101B0A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ACC E8 46       MOV             R8, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ACE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ACE             loc_C7101ACE </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ACE 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AD0 21 46       MOV             R1, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AD2 BC F7 A3 FC BL              memory_cpy_sub_CF0FF41C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AD6 9D F8 00 00 LDRB.W          R0, [SP,#0x20+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ADA 02 99       LDR             R1, [SP,#0x20+var_18]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101ADC 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AE0 08 BF       IT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AE2 48 F0 01 01 ORREQ.W         R1, R8, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AE6 21 20       MOVS            R0, #0x21 ; &#39;!&#39;         ; sysno</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AE8 00 22       MOVS            R2, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AEA B3 F7 FE EE BLX             syscall                 ; check</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AEE 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AF0 9D F8 00 00 LDRB.W          R0, [SP,#0x20+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AF4 C0 07       LSLS            R0, R0, #0x1F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AF6 1C BF       ITT NE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AF8 02 98       LDRNE           R0, [SP,#0x20+var_18]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AFA 55 F0 03 FD BLNE            free_sub_BDDF1504</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101AFE 2E B1       CBZ             R6, loc_C7101B0C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7101B00 0C 34       ADDS            R4, #0xC</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-weight: 600;text-align: start;font-size: 15px;">检测magisk</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">/sbin/.magisk</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">/proc/mounts</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006DE B6 F7 27 FB BL              DecString_loc_CEE73D30  ; r</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006E2 01 46       MOV             R1, R0                  ; modes</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006E4 20 46       MOV             R0, R4                  ; filename</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006E6 B4 F7 E0 EF BLX             fopen</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006EA 83 46       MOV             R11, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006EC BB F1 00 0F CMP.W           R11, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006F0 08 D0       BEQ             loc_C7100704</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006F2 58 46       MOV             R0, R11                 ; stream</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006F4 B5 F7 22 E9 BLX             feof</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71006F8 98 B1       CBZ             R0, loc_C7100722</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100732 40 46       MOV             R0, R8                  ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100734 4F F4 80 71 MOV.W           R1, #0x100              ; n</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100738 5A 46       MOV             R2, R11                 ; stream</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710073A B4 F7 BC EF BLX             fgets</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710073E 40 46       MOV             R0, R8                  ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100740 04 95       STR             R5, [SP,#0x138+var_128]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100742 CD E9 02 55 STRD.W          R5, R5, [SP,#0x138+var_130]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100746 B4 F7 98 EF BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710074A 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710074C 14 F1 10 0F CMN.W           R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100750 30 D2       BCS             loc_C71007B4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100752 0B 2C       CMP             R4, #0xB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100754 06 D2       BCS             loc_C7100764</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100756 01 9E       LDR             R6, [SP,#0x138+var_134]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100758 60 00       LSLS            R0, R4, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710075A 00 2C       CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710075C 8D F8 08 00 STRB.W          R0, [SP,#0x138+var_130]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100760 0E D1       BNE             loc_C7100780</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100762 12 E0       B               loc_C710078A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100764</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100764             loc_C7100764 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100764 04 F1 10 00 ADD.W           R0, R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100768 20 F0 0F 05 BIC.W           R5, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710076C 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710076E 56 F0 8B FE BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100772 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100774 45 F0 01 00 ORR.W           R0, R5, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100778 04 96       STR             R6, [SP,#0x138+var_128]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710077A 00 25       MOVS            R5, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710077C CD E9 02 04 STRD.W          R0, R4, [SP,#0x138+var_130]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100780</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100780             loc_C7100780 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100780 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100782 41 46       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100784 22 46       MOV             R2, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100786 B4 F7 E4 EF BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710078A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710078A             loc_C710078A </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710078A 35 55       STRB            R5, [R6,R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710078C 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710078E 49 46       MOV             R1, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100790 F8 F7 66 FE BL              memcmp_sub_CDB40460</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100794 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7100796 9D F8 08 00 LDRB.W          R0, [SP,#0x138+var_130]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710079A C0 07       LSLS            R0, R0, #0x1F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710079C 1C BF       ITT NE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710079E 04 98       LDRNE           R0, [SP,#0x138+var_128]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71007A0 56 F0 B0 FE BLNE            free_sub_BDDF1504</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71007A4 00 2C       CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71007A6 A8 D0       BEQ             loc_C71006FA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71007A8 58 46       MOV             R0, R11                 ; stream</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71007AA B5 F7 C8 E8 BLX             feof</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71007AE 00 28       CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71007B0 BF D0       BEQ             loc_C7100732</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-weight: 600;text-align: start;font-size: 15px;">检测xposed</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span style="font-size: 15px;">getSystemClassLoader</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">de.robv.android.xposed.XposedBridge</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">loadClass</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-weight: 600;text-align: start;font-size: 15px;">检测多开</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span style="font-size: 15px;">io.va.exposed64</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">createPackageContext</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-weight: 600;text-align: start;font-size: 15px;">检测frida</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">查找内存中特征</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">frida-</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67DE BA F1 4A 0F CMP.W           R10, #0x4A ; &#39;J&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67E2 73 DA       BGE             loc_C70C68CC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67E4 BA F1 41 0F CMP.W           R10, #0x41 ; &#39;A&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67E8 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67EA C0 F2 F1 80 BLT.W           loc_C70C69D0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67EE 40 F0 DA 80 BNE.W           loc_C70C69A6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67F2 06 99       LDR             R1, [SP,#0x70+var_58]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67F4 B1 F8 4C 00 LDRH.W          R0, [R1,#0x4C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67F8 09 8D       LDRH            R1, [R1,#0x28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67FA 08 43       ORRS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C67FC 4F F6 18 31 MOVW            R1, #0xFB18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6800 80 B2       UXTH            R0, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6802 88 42       CMP             R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6804 00 F0 04 81 BEQ.W           loc_C70C6A10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6808 8D 48       LDR             R0, =(off_C71A2A5C - 0xC70C6812)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C680A 8D 23       MOVS            R3, #0x8D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C680C 8D 49       LDR             R1, =(off_C71A2A60 - 0xC70C6816)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C680E 78 44       ADD             R0, PC                  ; off_C71A2A5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6810 8D 4A       LDR             R2, =(unk_C71B070C - 0xC70C681A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6812 79 44       ADD             R1, PC                  ; off_C71A2A60</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6814 00 68       LDR             R0, [R0]                ; unk_1981D86D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6816 7A 44       ADD             R2, PC                  ; unk_C71B070C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6818 13 9C       LDR             R4, [SP,#0x70+var_24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C681A 09 68       LDR             R1, [R1]                ; unk_19802832</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C681C 00 92       STR             R2, [SP,#0x70+var_70]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C681E 07 22       MOVS            R2, #7</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6820 F0 F7 86 FA BL              DecString_loc_CEE73D30  ; frida-</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6824 11 90       STR             R0, [SP,#0x70+s]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6826 04 F1 10 08 ADD.W           R8, R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C682A 6A 20       MOVS            R0, #0x6A ; &#39;j&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C682C C5 E7       B               loc_C70C67BA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C682E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C682E             loc_C70C682E </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C682E 0D 99       LDR             R1, [SP,#0x70+var_3C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6830 B1 F8 5C 00 LDRH.W          R0, [R1,#0x5C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6834 89 88       LDRH            R1, [R1,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6836 08 44       ADD             R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6838 10 90       STR             R0, [SP,#0x70+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C683A 08 F1 01 00 ADD.W           R0, R8, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C683E 0F 90       STR             R0, [SP,#0x70+var_34]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6840 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6842</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6842             loc_C70C6842 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6842 BA F1 5F 0F CMP.W           R10, #0x5F ; &#39;_&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6846 5B DB       BLT             loc_C70C6900</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6848 BA F1 65 0F CMP.W           R10, #0x65 ; &#39;e&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C684C 7C DB       BLT             loc_C70C6948</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C684E BA F1 6A 0F CMP.W           R10, #0x6A ; &#39;j&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6852 C0 F2 A1 80 BLT.W           loc_C70C6998</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6856 98 F8 00 00 LDRB.W          R0, [R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C685A 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C685E 06 BF       ITTE EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6860 44 08       LSREQ           R4, R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6862 DD F8 3C 90 LDREQ.W         R9, [SP,#0x70+var_34]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6866 D8 E9 01 49 LDRDNE.W        R4, R9, [R8,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C686A 11 98       LDR             R0, [SP,#0x70+s]        ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C686C EE F7 04 EF BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6870 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6872 1D B3       CBZ             R5, loc_C70C68BC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6874 AC 42       CMP             R4, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6876 1F DB       BLT             loc_C70C68B8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6878 11 98       LDR             R0, [SP,#0x70+s]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C687A 09 EB 04 0B ADD.W           R11, R9, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C687E 06 78       LDRB            R6, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6880 48 46       MOV             R0, R9                  ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6882</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6882             loc_C70C6882                            ; CODE XREF: check_frida_sub_C4A836F0+1B6↓j</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6882 61 1B       SUBS            R1, R4, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6884 4A 1C       ADDS            R2, R1, #1              ; n</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6886 17 D0       BEQ             loc_C70C68B8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6888 31 46       MOV             R1, R6                  ; c</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C688A EE F7 AA EF BLX             memchr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C688E 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6890 94 B1       CBZ             R4, loc_C70C68B8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6892 11 99       LDR             R1, [SP,#0x70+s]        ; s2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6894 20 46       MOV             R0, R4                  ; s1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6896 2A 46       MOV             R2, R5                  ; n</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C6898 EE F7 A8 EF BLX             memcmp</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C689C 28 B1       CBZ             R0, loc_C70C68AA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C689E 60 1C       ADDS            R0, R4, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C68A0 AB EB 00 04 SUB.W           R4, R11, R0</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-weight: 600;text-align: start;font-size: 15px;">检测hook</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF776             check_start_loc_C472C776 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF776 08 F1 10 01 ADD.W           R1, R8, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF77A 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF77C C2 F7 4E FE BL              memory_cpy_sub_CF0FF41C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF780 D8 F8 1C 40 LDR.W           R4, [R8,#0x1C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF784 33 94       STR             R4, [SP,#0x1A0+var_D4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF786 16 A8       ADD             R0, SP, #0x1A0+var_148</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF788 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF78A C2 F7 47 FE BL              memory_cpy_sub_CF0FF41C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF78E 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF790 31 46       MOV             R1, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF792 BA F7 B6 E8 BLX             dladdr                  ; 根据函数地趣获取自身so路径,判断是否被hook</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF796 00 28       CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF798 00 F0 F2 80 BEQ.W           loc_C70EF980</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF79C DD F8 48 90 LDR.W           R9, [SP,#0x1A0+var_158]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7A0 CD F8 40 A0 STR.W           R10, [SP,#0x1A0+var_160]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7A4 CD E9 0E AA STRD.W          R10, R10, [SP,#0x1A0+var_168]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7A8 48 46       MOV             R0, R9                  ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7AA B9 F7 66 EF BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7AE 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7B0 14 F1 10 0F CMN.W           R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7B4 80 F0 D7 81 BCS.W           loc_C70EFB66</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7B8 0B 2C       CMP             R4, #0xB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7BA 06 D2       BCS             loc_C70EF7CA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7BC 02 9D       LDR             R5, [SP,#0x1A0+var_198]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7BE 60 00       LSLS            R0, R4, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7C0 00 2C       CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7C2 8D F8 38 00 STRB.W          R0, [SP,#0x1A0+var_168]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7C6 0E D1       BNE             loc_C70EF7E6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7C8 12 E0       B               loc_C70EF7F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7CA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7CA             loc_C70EF7CA </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7CA 04 F1 10 00 ADD.W           R0, R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7CE 20 F0 0F 0A BIC.W           R10, R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7D2 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7D4 5B F0 58 FE BL              malloc_sub_CF198488</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7D8 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7DA 4A F0 01 00 ORR.W           R0, R10, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7DE 0E A9       ADD             R1, SP, #0x1A0+var_168</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7E0 31 C1       STM             R1!, {R0,R4,R5}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7E2 4F F0 00 0A MOV.W           R10, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7E6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7E6             loc_C70EF7E6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7E6 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7E8 49 46       MOV             R1, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7EA 22 46       MOV             R2, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7EC B9 F7 B0 EF BLX             __aeabi_memcpy</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7F0             loc_C70EF7F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7F0 05 F8 04 A0 STRB.W          R10, [R5,R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7F4 08 A8       ADD             R0, SP, #0x1A0+var_180</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7F6 0E A9       ADD             R1, SP, #0x1A0+var_168</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7F8 D4 F7 75 FC BL              memcmp_sub_CDA130E6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7FC 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF7FE 9D F8 38 00 LDRB.W          R0, [SP,#0x1A0+var_168]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF802 C0 07       LSLS            R0, R0, #0x1F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF804 1C BF       ITT NE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF806 10 98       LDRNE           R0, [SP,#0x1A0+var_160]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70EF808 5B F0 7C FE BLNE            free_sub_BDDF1504</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-weight: 600;text-align: start;font-size: 15px;">检测调试</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">//TracerPid</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE10             Read_TracerPid_sub_C4A83E10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE10             var_128= -0x128</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE10             s= -0x120</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE10             var_1C= -0x1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE10             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE10 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE12 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE14 2D E9 00 0B PUSH.W          {R8,R9,R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE18 C4 B0       SUB             SP, SP, #0x110</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE1A 35 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC70BAE24)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE1C 4F F4 80 71 MOV.W           R1, #0x100</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE20 78 44       ADD             R0, PC </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE22 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE24 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE26 43 90       STR             R0, [SP,#0x128+var_1C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE28 02 A8       ADD             R0, SP, #0x128+s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE2A EE F7 80 EC BLX             __aeabi_memclr8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE2E 31 48       LDR             R0, =(off_C7196A44 - 0xC70BAE38)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE30 05 23       MOVS            R3, #5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE32 31 49       LDR             R1, =(off_C7196A48 - 0xC70BAE3C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE34 78 44       ADD             R0, PC                  ; off_C7196A44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE36 31 4A       LDR             R2, =(unk_C71A46F5 - 0xC70BAE40)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE38 79 44       ADD             R1, PC                  ; off_C7196A48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE3A 00 68       LDR             R0, [R0]                ; unk_19811856</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE3C 7A 44       ADD             R2, PC                  ; unk_C71A46F5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE3E 09 68       LDR             R1, [R1]                ; unk_197F6820</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE40 00 92       STR             R2, [SP,#0x128+var_128]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE42 12 22       MOVS            R2, #0x12</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE44 EF F7 74 FF BL              DecString_loc_CEE73D30  ; /proc/self/status</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE48 2E 49       LDR             R1, =(off_C7196A50 - 0xC70BAE54)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE4A 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE4C 2C 48       LDR             R0, =(off_C7196A4C - 0xC70BAE58)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE4E C3 23       MOVS            R3, #0xC3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE50 79 44       ADD             R1, PC                  ; off_C7196A50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE52 2D 4A       LDR             R2, =(unk_C71A089C - 0xC70BAE5A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE54 78 44       ADD             R0, PC                  ; off_C7196A4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE56 7A 44       ADD             R2, PC                  ; unk_C71A089C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE58 00 68       LDR             R0, [R0]                ; unk_1980DA04</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE5A 09 68       LDR             R1, [R1]                ; unk_197F26F6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE5C 00 92       STR             R2, [SP,#0x128+var_128]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE5E 02 22       MOVS            R2, #2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE60 EF F7 66 FF BL              DecString_loc_CEE73D30  ; r</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE64 01 46       MOV             R1, R0                  ; modes</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE66 20 46       MOV             R0, R4                  ; filename</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE68 EE F7 1E EC BLX             fopen</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE6C 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE6E 3C B3       CBZ             R4, loc_C70BAEC0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE70 02 A8       ADD             R0, SP, #0x128+s        ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE72 4F F4 80 71 MOV.W           R1, #0x100              ; n</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE76 22 46       MOV             R2, R4                  ; stream</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE78 EE F7 1C EC BLX             fgets</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE7C F0 B1       CBZ             R0, loc_C70BAEBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE7E DF F8 8C 80 LDR.W           R8, =(off_C7196A54 - 0xC70BAE8E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE82 02 AD       ADD             R5, SP, #0x128+s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE84 DF F8 88 90 LDR.W           R9, =(off_C7196A58 - 0xC70BAE90)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE88 22 4E       LDR             R6, =(unk_C71A46D1 - 0xC70BAE92)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE8A F8 44       ADD             R8, PC                  ; off_C7196A54</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE8C F9 44       ADD             R9, PC                  ; off_C7196A58</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE8E 7E 44       ADD             R6, PC                  ; unk_C71A46D1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE90             loc_C70BAE90 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE90 D8 F8 00 00 LDR.W           R0, [R8]                ; unk_19811832</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE94 0B 22       MOVS            R2, #0xB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE96 D9 F8 00 10 LDR.W           R1, [R9]                ; unk_197F67EA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE9A F4 23       MOVS            R3, #0xF4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE9C 00 96       STR             R6, [SP,#0x128+var_128]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAE9E EF F7 47 FF BL              DecString_loc_CEE73D30  ; TracerPid:</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEA2 01 46       MOV             R1, R0                  ; needle</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEA4 28 46       MOV             R0, R5                  ; haystack</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEA6 EE F7 66 EC BLX             strstr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEAA 58 B9       CBNZ            R0, loc_C70BAEC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEAC 28 46       MOV             R0, R5                  ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEAE 4F F4 80 71 MOV.W           R1, #0x100              ; n</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEB2 22 46       MOV             R2, R4                  ; stream</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEB4 EE F7 FE EB BLX             fgets</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEB8 00 28       CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEBA E9 D1       BNE             loc_C70BAE90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEBC             loc_C70BAEBC </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEBC 00 25       MOVS            R5, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEBE 05 E0       B               loc_C70BAECC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEC0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEC0             loc_C70BAEC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEC0 00 25       MOVS            R5, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEC2 06 E0       B               loc_C70BAED2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEC4             loc_C70BAEC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEC4 0B 30       ADDS            R0, #0xB </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAEC6 EE F7 A4 EC BLX             atoi</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAECA 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAECC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAECC             loc_C70BAECC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAECC 20 46       MOV             R0, R4 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70BAECE EE F7 F8 EB BLX             fclose</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">//isDebuggerConnected</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96F8             isDebuggerConnected_sub_C4AB26F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96F8             var_C8= -0xC8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96F8             var_C0= -0xC0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96F8             var_A0= -0xA0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96F8             var_1C= -0x1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96F8             ; __unwind { // C7149914</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96F8 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96FA 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E96FC 2D E9 00 0B PUSH.W          {R8,R9,R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9700 AC B0       SUB             SP, SP, #0xB0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9702 35 49       LDR             R1, =(__stack_chk_guard_ptr - 0xC70E970A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9704 35 4A       LDR             R2, =(off_C7197F90 - 0xC70E970E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9706 79 44       ADD             R1, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9708 35 4B       LDR             R3, =(off_C7197F94 - 0xC70E9712)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E970A 7A 44       ADD             R2, PC                  ; off_C7197F90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E970C 09 68       LDR             R1, [R1]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E970E 7B 44       ADD             R3, PC                  ; off_C7197F94</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9710 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9712 2B 91       STR             R1, [SP,#0xC8+var_1C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9714 D0 F8 20 80 LDR.W           R8, [R0,#0x20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9718 10 68       LDR             R0, [R2]                ; unk_19813151</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E971A 32 4A       LDR             R2, =(unk_C71A5FD8 - 0xC70E9724)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E971C 19 68       LDR             R1, [R3]                ; unk_197F81D0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E971E A1 23       MOVS            R3, #0xA1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9720 7A 44       ADD             R2, PC                  ; unk_C71A5FD8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9722 00 92       STR             R2, [SP,#0xC8+var_C8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9724 14 22       MOVS            R2, #0x14</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9726 C1 F7 03 FB BL              DecString_loc_CEE73D30  ; isDebuggerConnected</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E972A 30 49       LDR             R1, =(off_C7197F9C - 0xC70E9736)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E972C 81 46       MOV             R9, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E972E 2E 48       LDR             R0, =(off_C7197F98 - 0xC70E973A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9730 CA 23       MOVS            R3, #0xCA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9732 79 44       ADD             R1, PC                  ; off_C7197F9C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9734 2E 4A       LDR             R2, =(unk_C71A4484 - 0xC70E973C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9736 78 44       ADD             R0, PC                  ; off_C7197F98</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9738 7A 44       ADD             R2, PC                  ; unk_C71A4484</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E973A 00 68       LDR             R0, [R0]                ; unk_19811617</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E973C 09 68       LDR             R1, [R1]                ; unk_197F656F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E973E 00 92       STR             R2, [SP,#0xC8+var_C8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9740 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9742 C1 F7 F5 FA BL              DecString_loc_CEE73D30  ; ()Z</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9746 2C 49       LDR             R1, =(off_C7197FA4 - 0xC70E9752)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9748 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E974A 2A 48       LDR             R0, =(off_C7197FA0 - 0xC70E9756)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E974C 22 23       MOVS            R3, #0x22 ; &#39;&#34;&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E974E 79 44       ADD             R1, PC                  ; off_C7197FA4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9750 2A 4A       LDR             R2, =(unk_C71A5FD9 - 0xC70E9758)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9752 78 44       ADD             R0, PC                  ; off_C7197FA0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9754 7A 44       ADD             R2, PC                  ; unk_C71A5FD9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9756 00 68       LDR             R0, [R0]                ; unk_19813140</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9758 09 68       LDR             R1, [R1]                ; unk_197F81B0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E975A 00 92       STR             R2, [SP,#0xC8+var_C8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E975C 11 22       MOVS            R2, #0x11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E975E C1 F7 E7 FA BL              DecString_loc_CEE73D30  ; android/os/Debug</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9762 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9764 26 48       LDR             R0, =(off_C719E640 - 0xC70E976E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9766 27 49       LDR             R1, =(dword_C71A5FDC - 0xC70E9770)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9768 27 4A       LDR             R2, =(dword_C719E644 - 0xC70E9772)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E976A 78 44       ADD             R0, PC                  ; off_C719E640</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E976C 79 44       ADD             R1, PC                  ; dword_C71A5FDC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E976E 7A 44       ADD             R2, PC                  ; dword_C719E644</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9770 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9772 0D 68       LDR             R5, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9774 10 68       LDR             R0, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9776 3D B9       CBNZ            R5, loc_C70E9788</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9778 43 F6 38 21 MOVW            R1, #0x3A38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E977C CD F7 88 FB BL              getFunc_loc_CF103E90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9780 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9782 22 48       LDR             R0, =(dword_C71A5FDC - 0xC70E9788)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9784 78 44       ADD             R0, PC                  ; dword_C71A5FDC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9786 05 60       STR             R5, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9788</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9788             loc_C70E9788 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9788 00 94       STR             R4, [SP,#0xC8+var_C8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E978A 02 AC       ADD             R4, SP, #0xC8+var_C0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E978C 41 46       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E978E 4A 46       MOV             R2, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9790 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9792 33 46       MOV             R3, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9794 A8 47       BLX             R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9796 0A 98       LDR             R0, [SP,#0xC8+var_A0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E9798 28 B1       CBZ             R0, loc_C70E97A6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E979A 04 F1 10 00 ADD.W           R0, R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E979E CB F7 F1 FD BL              CallStaticBooleanMethod_sub_C4A7E384</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70E97A2 04 46       MOV             R4, R0</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><br/></p><h4 data-source-line="1649" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">4.2、设备指纹</span></h4><h5 data-source-line="1650" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);font-size: 15px;">双重反射采集信息：</span></h5><p data-source-line="1651" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">统一入口，动态调用不同的方法获取设备信息</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5350 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5350             ; __unwind { // C7155914</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5350 B0 B5       PUSH            {R4,R5,R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5352 02 AF       ADD             R7, SP, #8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5354 0D 46       MOV             R5, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5356 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5358 28 68       LDR             R0, [R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C535A 11 46       MOV             R1, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C535C 43 68       LDR             R3, [R0,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C535E 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5360 98 47       BLX             R3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5362 28 68       LDR             R0, [R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5364 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5366 02 68       LDR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5368 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C536A 90 47       BLX             R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C536C 28 68       LDR             R0, [R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C536E 81 68       LDR             R1, [R0,#8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5370 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5372 88 47       BLX             R1                      ; DeleteLocalRef</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C5374 B0 BD       POP             {R4,R5,R7,PC}</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-weight: 600;text-align: start;font-size: 15px;">JNI反射调用forName、getDeclaredMethod获取设备信息</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02D8             call_getDeclaredMethod_loc_C4AB92D8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02D8 DF F8 18 04 LDR.W           R0, =(off_C7198390 - 0xC70F02EA)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02DC 38 23       MOVS            R3, #0x38 ; &#39;8&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02DE DF F8 18 14 LDR.W           R1, =(off_C7198394 - 0xC70F02EC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02E2 DD F8 54 A0 LDR.W           R10, [SP,#0x348+var_2F4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02E6 78 44       ADD             R0, PC                  ; off_C7198390</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02E8 79 44       ADD             R1, PC                  ; off_C7198394</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02EA DF F8 10 24 LDR.W           R2, =(unk_C71A628F - 0xC70F02F6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02EE DA F8 20 40 LDR.W           R4, [R10,#0x20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02F2 7A 44       ADD             R2, PC                  ; unk_C71A628F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02F4 00 68       LDR             R0, [R0]                ; unk_19813440</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02F6 09 68       LDR             R1, [R1]                ; unk_197F8500</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02F8 00 92       STR             R2, [SP,#0x348+n]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02FA 12 22       MOVS            R2, #0x12</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F02FC BA F7 18 FD BL              DecString_loc_CEE73D30  ; getDeclaredMethod</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0300 DF F8 00 14 LDR.W           R1, =(off_C719839C - 0xC70F0310)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0304 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0306 DF F8 F8 03 LDR.W           R0, =(off_C7198398 - 0xC70F0316)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F030A 4D 23       MOVS            R3, #0x4D ; &#39;M&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F030C 79 44       ADD             R1, PC                  ; off_C719839C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F030E DF F8 F8 23 LDR.W           R2, =(unk_C71A6290 - 0xC70F0318)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0312 78 44       ADD             R0, PC                  ; off_C7198398</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0314 7A 44       ADD             R2, PC                  ; unk_C71A6290</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0316 00 68       LDR             R0, [R0]                ; unk_198133FF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0318 09 68       LDR             R1, [R1]                ; unk_197F84B0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F031A 00 92       STR             R2, [SP,#0x348+n]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F031C 41 22       MOVS            R2, #0x41 ; &#39;A&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F031E BA F7 07 FD BL              DecString_loc_CEE73D30  ; (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0322 03 46       MOV             R3, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0324 13 98       LDR             R0, [SP,#0x348+var_2FC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0326 21 46       MOV             R1, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0328 CD F8 00 80 STR.W           R8, [SP,#0x348+n]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F032C 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F032E 01 90       STR             R0, [SP,#0x348+var_344]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0330 7A A8       ADD             R0, SP, #0x348+var_160</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0332 C3 46       MOV             R11, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0334 B0 46       MOV             R8, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0336 02 96       STR             R6, [SP,#0x348+var_340]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0338 00 F0 4C FB BL              call_getDeclaredMethod_sub_C4AB99D4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F033C 88 98       LDR             R0, [SP,#0x348+var_128]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F033E 20 B1       CBZ             R0, loc_C70F034A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0340 08 98       LDR             R0, [SP,#0x348+var_328]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0342 C1 F7 43 F8 BL              CallStaticObjectMethod_sub_CF0FE3CC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0346 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0348 00 E0       B               loc_C70F034C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F034A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F034A             loc_C70F034A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F034A 00 24       MOVS            R4, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F034C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F034C             loc_C70F034C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F034C 7A A8       ADD             R0, SP, #0x348+var_160</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F034E BA F7 3B FE BL              DeleteLocal_loc_CF0F7FC8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0352 DF F8 B8 03 LDR.W           R0, =(off_C71983A0 - 0xC70F0360)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0356 97 23       MOVS            R3, #0x97</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0358 DF F8 B4 13 LDR.W           R1, =(off_C71983A4 - 0xC70F0366)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F035C 78 44       ADD             R0, PC                  ; off_C71983A0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F035E DF F8 B4 23 LDR.W           R2, =(unk_C71A6291 - 0xC70F036E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0362 79 44       ADD             R1, PC                  ; off_C71983A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0364 DA F8 20 50 LDR.W           R5, [R10,#0x20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0368 00 68       LDR             R0, [R0]                ; unk_198133F2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F036A 7A 44       ADD             R2, PC                  ; unk_C71A6291</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F036C 09 68       LDR             R1, [R1]                ; unk_197F84A1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F036E 00 92       STR             R2, [SP,#0x348+n]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0370 0D 22       MOVS            R2, #0xD</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0372 BA F7 DD FC BL              DecString_loc_CEE73D30  ; getModifiers</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0376 DF F8 A4 13 LDR.W           R1, =(off_C71983AC - 0xC70F0386)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F037A 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F037C DF F8 98 03 LDR.W           R0, =(off_C71983A8 - 0xC70F038C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0380 09 23       MOVS            R3, #9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0382 79 44       ADD             R1, PC                  ; off_C71983AC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0384 DF F8 98 23 LDR.W           R2, =(unk_C71A43D5 - 0xC70F038E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0388 78 44       ADD             R0, PC                  ; off_C71983A8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F038A 7A 44       ADD             R2, PC                  ; unk_C71A43D5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F038C 00 68       LDR             R0, [R0]                ; unk_1981153A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F038E 09 68       LDR             R1, [R1]                ; unk_197F647F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0390 00 92       STR             R2, [SP,#0x348+n]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0392 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0394 BA F7 CC FC BL              DecString_loc_CEE73D30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F0398 03 46       MOV             R3, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F039A 52 A8       ADD             R0, SP, #0x348+var_200</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F039C 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F039E 32 46       MOV             R2, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F03A0 00 94       STR             R4, [SP,#0x348+n]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F03A2 C0 F7 7F FA BL              GetMethodID_sub_CF0FD8A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F03A6 0B 9E       LDR             R6, [SP,#0x348+var_31C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F03A8 66 98       LDR             R0, [SP,#0x348+var_1B0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F03AA 20 B1       CBZ             R0, loc_C70F03B6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F03AC 07 98       LDR             R0, [SP,#0x348+var_32C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F03AE C0 F7 CB FB BL              CallStaticIntMethodV_sub_C4A79B48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F03B2 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70F03B4 01 E0       B               loc_C70F03BA</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><br/></p><h5 data-source-line="1770" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 15px;">单条加密设备信息：</span></h5><p data-source-line="1771" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">获取完一组信息后单条加密：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             vm_enc_Deviceinfo_sub_D5C4A232</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_7C= -0x7C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_78= -0x78</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_74= -0x74</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_70= -0x70</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_6C= -0x6C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_68= -0x68</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_64= -0x64</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_60= -0x60</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_5C= -0x5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_58= -0x58</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_54= -0x54</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_50= -0x50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_4C= -0x4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_48= -0x48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_40= -0x40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_38= -0x38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_30= -0x30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_24= -0x24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232             var_8= -8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232            </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C232 00 F0 01 B8 B.W             loc_C711C238</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C236 00 00       ALIGN 4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C236             ; } // starts at C711C232</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C238</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C238             loc_C711C238 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C238             ; __unwind { // FBF95000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C238 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C23A 03 AF       ADD             R7, SP, #0x14+var_8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C23C 2D E9 00 0B PUSH.W          {R8,R9,R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C240 98 B0       SUB             SP, SP, #0x60 ; &#39;`&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C242 6C 46       MOV             R4, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C244 6F F3 03 04 BFC.W           R4, #0, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C248 A5 46       MOV             SP, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C24A 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C24C 39 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC711C256)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C24E 91 46       MOV             R9, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C250 0D 46       MOV             R5, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C252</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C252             loc_C711C252</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C252 78 44       ADD             R0, PC </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C254 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C256 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C258 17 90       STR             R0, [SP,#0x80+var_24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C25A FF F7 E5 FB BL              DecString_loc_C5D9FA28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C25E 36 48       LDR             R0, =(off_C71A6E2C - 0xC711C268)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C260 36 49       LDR             R1, =(off_C71A6E30 - 0xC711C26C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C262 37 4A       LDR             R2, =(off_C71A6E34 - 0xC711C272)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C264 78 44       ADD             R0, PC                  ; off_C71A6E2C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C266 37 4B       LDR             R3, =(off_C71A6E38 - 0xC711C278)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C268 79 44       ADD             R1, PC                  ; off_C71A6E30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C26A DF F8 DC C0 LDR.W           R12, =(off_C71A6E3C - 0xC711C27A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C26E 7A 44       ADD             R2, PC                  ; off_C71A6E34</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C270 DF F8 D8 E0 LDR.W           LR, =(off_C71A6E40 - 0xC711C280)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C274 7B 44       ADD             R3, PC                  ; off_C71A6E38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C276 FC 44       ADD             R12, PC                 ; off_C71A6E3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C278 DF F8 D4 80 LDR.W           R8, =(off_C71A6E44 - 0xC711C286)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C27C FE 44       ADD             LR, PC                  ; off_C71A6E40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C27E 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C280 09 68       LDR             R1, [R1]                ; unk_1EE7B36D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C282 F8 44       ADD             R8, PC                  ; off_C71A6E44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C284 12 68       LDR             R2, [R2]                ; unk_2338AB2F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C286 1B 68       LDR             R3, [R3]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C288 DC F8 00 40 LDR.W           R4, [R12]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C28C 02 95       STR             R5, [SP,#0x80+var_78]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C28E DE F8 00 50 LDR.W           R5, [LR]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C292 01 96       STR             R6, [SP,#0x80+var_7C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C294 2F 4E       LDR             R6, =(off_C71A6E48 - 0xC711C29E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C296 D8 F8 00 C0 LDR.W           R12, [R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C29A 7E 44       ADD             R6, PC                  ; off_C71A6E48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C29C CD F8 0C 90 STR.W           R9, [SP,#0x80+var_74]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2A0 36 68       LDR             R6, [R6]                ; unk_289ECB2F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2A2 04 90       STR             R0, [SP,#0x80+var_70]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2A4 2C 48       LDR             R0, =(off_C71A6E4C - 0xC711C2AA)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2A6 78 44       ADD             R0, PC                  ; off_C71A6E4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2A8 D0 F8 00 E0 LDR.W           LR, [R0]                ; unk_FFBB3F99</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2AC 05 91       STR             R1, [SP,#0x80+var_6C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2AE 2B 49       LDR             R1, =(off_C71A6E50 - 0xC711C2B6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2B0 2F 48       LDR             R0, =(off_C71A6E64 - 0xC711C2B8)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2B2 79 44       ADD             R1, PC                  ; off_C71A6E50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2B4 78 44       ADD             R0, PC                  ; off_C71A6E64</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2B6 D1 F8 00 80 LDR.W           R8, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2BA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2BA             loc_C711C2BA </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2BA 06 92       STR             R2, [SP,#0x80+var_68]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2BC 28 4A       LDR             R2, =(off_C71A6E54 - 0xC711C2C4)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2BE 2E 49       LDR             R1, =(off_C71A6E6C - 0xC711C2C6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2C0 7A 44       ADD             R2, PC                  ; off_C71A6E54</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2C2 79 44       ADD             R1, PC                  ; off_C71A6E6C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2C4 D2 F8 00 90 LDR.W           R9, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2C8 07 93       STR             R3, [SP,#0x80+var_64]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2CA 26 4B       LDR             R3, =(off_C71A6E58 - 0xC711C2D0)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2CC 7B 44       ADD             R3, PC                  ; off_C71A6E58</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2CE 1B 68       LDR             R3, [R3]                ; unk_1BBAF35F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2D0 08 94       STR             R4, [SP,#0x80+var_60]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2D2 25 4C       LDR             R4, =(off_C71A6E5C - 0xC711C2D8)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2D4 7C 44       ADD             R4, PC                  ; off_C71A6E5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2D6 24 68       LDR             R4, [R4]                ; unk_2410E6C3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2D8 09 95       STR             R5, [SP,#0x80+var_5C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2DA 24 4D       LDR             R5, =(off_C71A6E60 - 0xC711C2E0)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2DC 7D 44       ADD             R5, PC                  ; off_C71A6E60</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2DE 2D 68       LDR             R5, [R5]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2E0 CD F8 28 C0 STR.W           R12, [SP,#0x80+var_58]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2E4 00 68       LDR             R0, [R0]                ; unk_EBE3C835</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2E6 0B 96       STR             R6, [SP,#0x80+var_54]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2E8 22 4E       LDR             R6, =(off_C71A6E68 - 0xC711C2EE)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2EA 7E 44       ADD             R6, PC                  ; off_C71A6E68</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2EC 36 68       LDR             R6, [R6]                ; unk_E0C18413</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2EE CD F8 30 E0 STR.W           LR, [SP,#0x80+var_50]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2F2 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2F4 21 49       LDR             R1, =(off_C71A6E70 - 0xC711C2FE)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2F6 CD F8 34 80 STR.W           R8, [SP,#0x80+var_4C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2FA 79 44       ADD             R1, PC                  ; off_C71A6E70</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2FC 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C2FE CD E9 0E 93 STRD.W          R9, R3, [SP,#0x80+var_48]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C302 CD E9 10 45 STRD.W          R4, R5, [SP,#0x80+var_40]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C306</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C306             loc_C711C306</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C306 CD E9 12 06 STRD.W          R0, R6, [SP,#0x80+var_38]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C30A 4F F4 10 70 MOV.W           R0, #0x240</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C30E 14 92       STR             R2, [SP,#0x80+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C310 6A 46       MOV             R2, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C312 00 F0 37 F8 BL              VM_Entrance_loc_CDF4C384 ; R:传入不同数字代走不同逻辑</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C316 1A 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC711C31E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C318 17 99       LDR             R1, [SP,#0x80+var_24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C31A 78 44       ADD             R0, PC </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C31C 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C31E 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C320 40 1A       SUBS            R0, R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C322 01 BF       ITTTT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C324 A7 F1 18 04 SUBEQ.W         R4, R7, #0x18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C328 A5 46       MOVEQ           SP, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C32A BD E8 00 0B POPEQ.W         {R8,R9,R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C32E F0 BD       POPEQ           {R4-R7,PC}</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">最终会走到VM_Entrance_loc_CDF4C384中进行加密，90%的功能都是在这里面动态调用不同方法完成的。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C384             VM_Entrance_loc_CDF4C384</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C384 2D E9 F0 4F PUSH.W          {R4-R11,LR}             ; R:传入不同数字代走不同逻辑</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C388 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C38A AD F5 13 7D SUB.W           SP, SP, #0x24C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C38E 6E 46       MOV             R6, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C390 42 F6 24 5A MOVW            R10, #0x2D24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C394 C6 F8 A8 00 STR.W           R0, [R6,#0xA8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C398 46 F2 47 24 MOVW            R4, #0x6247</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C39C DF F8 94 0A LDR.W           R0, =(off_C71A9B50 - 0xC711C3B0)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C3A0 CF F6 A0 4A MOVT            R10, #0xFCA0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C3A4 C6 F8 40 11 STR.W           R1, [R6,#0x140]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C3A8 C5 F2 99 54 MOVT            R4, #0x5599</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C3AC 78 44       ADD             R0, PC                  ; off_C71A9B50</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">//分发器</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C968             VMDispatcher_loc_CB187968 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C968 D6 F8 44 11 LDR.W           R1, [R6,#0x144]         ; 调用不同方法</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C96C 88 7A       LDRB            R0, [R1,#0xA]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C96E 09 7B       LDRB            R1, [R1,#0xC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C970 08 43       ORRS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C972 C0 B2       UXTB            R0, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C974 2F 28       CMP             R0, #0x2F ; &#39;/&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C976 41 F0 22 80 BNE.W           loc_C711D9BE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C97A D6 F8 3C 01 LDR.W           R0, [R6,#0x13C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C97E 40 F2 15 21+MOV             R1, #0x41920215</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C97E C4 F2 92 11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C986 D0 F8 C4 00 LDR.W           R0, [R0,#0xC4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C98A 08 43       ORRS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C98C 48 F2 F5 31+MOV             R1, #unk_E39683F5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C98C CE F2 96 31</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C994 88 42       CMP             R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C996 7F F4 8A AF BNE.W           loc_C711C8AE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C99A A7 F1 20 00 SUB.W           R0, R7, #0x20 ; &#39; &#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C99E 01 68       LDR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C9A0 57 F8 78 0C LDR.W           R0, [R7,#-0x78]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C9A4 88 47       BLX             R1                      ; 调用不同方法</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C9A6 57 F8 7C 0C LDR.W           R0, [R7,#-0x7C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711C9AA 00 F0 7A BF B.W             loc_C711D8A2</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">//加密</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D288             encdata_loc_BF53C288</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D288 57 F8 A8 2C LDR.W           R2, [R7,#-0xA8]         ; 加密数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D28C 0C 68       LDR             R4, [R1]                ; 取密钥</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D28E 12 68       LDR             R2, [R2]                ; 取数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D290 62 40       EORS            R2, R4                  ; 加密</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D292 A7 F1 90 04 SUB.W           R4, R7, #0x90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D296</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D296             loc_C711D296 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D296 44 F8 2C 20 STR.W           R2, [R4,R12,LSL#2]      ; 存加密数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D29A F4 6E       LDR             R4, [R6,#0x6C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D29C E2 6A       LDR             R2, [R4,#0x2C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D29E E4 6E       LDR             R4, [R4,#0x6C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D2A0 22 44       ADD             R2, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D2A2 49 F2 F4 24+MOV             R4, #0x4E892F4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D2A2 C0 F2 E8 44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D2AA A2 42       CMP             R2, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D2AC 14 D1       BNE             loc_C711D2D8</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D96E             getencdata_loc_BF53C96E </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D96E 57 F8 A8 2C LDR.W           R2, [R7,#-0xA8]         ; 取加密后数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D972 57 F8 FC 3C LDR.W           R3, [R7,#-0xFC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D976 09 68       LDR             R1, [R1]                ; 取第一次加密后数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D978 12 68       LDR             R2, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D97A D1 54       STRB            R1, [R2,R3]             ; 最终存数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711D97C 83 E7       B               loc_C711D886</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-weight: 600;font-size: 15px;">组合设备信息再次加密：</span></p><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(106, 115, 125);font-weight: 600;font-size: 15px;">组合加密后的设备信息</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             getbody_crc_sub_CDA4AE44                ; CODE XREF: getinfo_sub_CDF805D0+69C↑p</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44                                                     ; .text:JNI_OnLoad+1AAC0↓p</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44                                                     ; DATA XREF: ...</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_B0= -0xB0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_AC= -0xAC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_A8= -0xA8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_A4= -0xA4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_A0= -0xA0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_9C= -0x9C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_98= -0x98</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_94= -0x94</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_90= -0x90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_8C= -0x8C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_88= -0x88</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_84= -0x84</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_80= -0x80</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_7C= -0x7C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_78= -0x78</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_74= -0x74</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_70= -0x70</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_6C= -0x6C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_64= -0x64</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_60= -0x60</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_5C= -0x5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_58= -0x58</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_50= -0x50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_4C= -0x4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_44= -0x44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             crc= -0x40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_3C= -0x3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_38= -0x38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_30= -0x30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_28= -0x28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_24= -0x24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44             ; __unwind { // C7149914</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E44 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E46 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E48 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E4C A5 B0       SUB             SP, SP, #0x94</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E4E 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E50 DF F8 F8 06 LDR.W           R0, =(__stack_chk_guard_ptr - 0xC7112E5C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E54 92 46       MOV             R10, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E56 8B 46       MOV             R11, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E58 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E5A 00 2B       CMP             R3, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E5C 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E5E 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E60 24 90       STR             R0, [SP,#0xB0+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E62 4F F6 DF 20+MOV             R0, #0xFADFFADF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E62 CF F6 DF 20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E6A 0C 90       STR             R0, [SP,#0xB0+var_80]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E6C 4F F0 01 00 MOV.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E70 14 90       STR             R0, [SP,#0xB0+var_60]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E72 23 D0       BEQ             loc_C7112EBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E74 DF F8 D8 06 LDR.W           R0, =(dword_C71A03A4 - 0xC7112E88)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E78 0B F1 1C 05 ADD.W           R5, R11, #0x1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E7C DF F8 D4 16 LDR.W           R1, =(dword_C71A97EC - 0xC7112E8C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E80 DF F8 D4 26 LDR.W           R2, =(dword_C71A03A8 - 0xC7112E8E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E84 78 44       ADD             R0, PC                  ; dword_C71A03A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E86 05 93       STR             R3, [SP,#0xB0+var_9C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E88 79 44       ADD             R1, PC                  ; dword_C71A97EC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E8A 7A 44       ADD             R2, PC                  ; dword_C71A03A8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E8C 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E8E 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E90 10 68       LDR             R0, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E92 41 B9       CBNZ            R1, loc_C7112EA6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E94 4A F6 EA 41 MOVW            R1, #0xACEA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E98 00 F0 84 FC BL              getFunc_loc_CDFDB7A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E9C 01 46       MOV             R1, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112E9E DF F8 BC 06 LDR.W           R0, =(dword_C71A97EC - 0xC7112EA6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA2 78 44       ADD             R0, PC                  ; dword_C71A97EC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA4 01 60       STR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA6             loc_C7112EA6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA6 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EA8 88 47       BLX             R1                      ; pthread_mutex_lock</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EAA 5C 46       MOV             R4, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EAC 14 F8 20 0F LDRB.W          R0, [R4,#0x20]!</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EB0 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EB4 19 D1       BNE             loc_C7112EEA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EB6 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EB8 20 80       STRH            R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBA 1C E0       B               loc_C7112EF6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBC             loc_C7112EBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBC 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EBE C8 E9 00 00 STRD.W          R0, R0, [R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EC2 C8 F8 08 00 STR.W           R0, [R8,#8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EC6 00 20       MOVS            R0, #0                  ; s</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EC8 96 F7 D6 EB BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ECC 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ECE 14 F1 10 0F CMN.W           R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ED2 80 F0 08 83 BCS.W           loc_C71134E6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ED6 0B 2C       CMP             R4, #0xB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112ED8 80 F0 74 81 BCS.W           loc_C71131C4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EDC 60 00       LSLS            R0, R4, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EDE 00 2C       CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EE0 08 F8 01 0B STRB.W          R0, [R8],#1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EE4 40 F0 7C 81 BNE.W           loc_C71131E0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EE8 7F E1       B               loc_C71131EA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EEA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EEA             loc_C7112EEA </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EEA DB F8 28 00 LDR.W           R0, [R11,#0x28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EEE 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF0 01 70       STRB            R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF2 CB F8 24 10 STR.W           R1, [R11,#0x24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF6             loc_C7112EF6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EF6 DF F8 68 06 LDR.W           R0, =(dword_C71A03AC - 0xC7112F06)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EFA DF F8 68 16 LDR.W           R1, =(dword_C71A97F0 - 0xC7112F08)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112EFE DF F8 68 36 LDR.W           R3, =(off_C71A03B0 - 0xC7112F0A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F02 78 44       ADD             R0, PC                  ; dword_C71A03AC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F04 79 44       ADD             R1, PC                  ; dword_C71A97F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F06 7B 44       ADD             R3, PC                  ; off_C71A03B0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F08 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F0A 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F0C 19 68       LDR             R1, [R3]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F0E 32 B9       CBNZ            R2, loc_C7112F1E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F10 00 F0 48 FC BL              getFunc_loc_CDFDB7A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F14 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F16 DF F8 54 06 LDR.W           R0, =(dword_C71A97F0 - 0xC7112F1E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1A 78 44       ADD             R0, PC                  ; dword_C71A97F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1C 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1E             loc_C7112F1E </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F1E 06 95       STR             R5, [SP,#0xB0+var_98]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F20 90 47       BLX             R2                      ; pthread_mutex_lock</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F22 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F24 DF F8 48 06 LDR.W           R0, =(dword_C71A97F4 - 0xC7112F34)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F28 DF F8 48 16 LDR.W           R1, =(dword_C71A03B4 - 0xC7112F36)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F2C 05 F1 24 06 ADD.W           R6, R5, #0x24 ; &#39;$&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F30 78 44       ADD             R0, PC                  ; dword_C71A97F4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F32 79 44       ADD             R1, PC                  ; dword_C71A03B4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F34 02 68       LDR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F36 08 68       LDR             R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F38 42 B9       CBNZ            R2, loc_C7112F4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F3A 4C F6 D1 11 MOVW            R1, #0xC9D1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F3E 00 F0 31 FC BL              getFunc_loc_CDFDB7A4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F42 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F44 DF F8 30 06 LDR.W           R0, =(dword_C71A97F4 - 0xC7112F4C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F48             loc_C7112F48 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F48 78 44       ADD             R0, PC  </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F4A 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F4C             loc_C7112F4C </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F4C 0D F1 38 09 ADD.W           R9, SP, #0xB0+var_78</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F50 31 46       MOV             R1, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F52 48 46       MOV             R0, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F54 90 47       BLX             R2                      ; 第二步服务器返回base64解密后的值</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F56 05 F1 0C 01 ADD.W           R1, R5, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F5A 11 A8       ADD             R0, SP, #0xB0+var_6C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F5C 9F F7 5E FA BL              memory_cpy_sub_CF0FF41C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F60 DB E9 32 56 LDRD.W          R5, R6, [R11,#0xC8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F64 DB E9 38 01 LDRD.W          R0, R1, [R11,#0xE0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F68 08 1A       SUBS            R0, R1, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F6A 59 46       MOV             R1, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F6C 80 10       ASRS            R0, R0, #2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F6E 0D 90       STR             R0, [SP,#0xB0+var_7C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F70 11 F8 0C 0F LDRB.W          R0, [R1,#0xC]!</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F74 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F78 0C BF       ITE EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F7A 40 08       LSREQ           R0, R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F7C DB F8 10 00 LDRNE.W         R0, [R11,#0x10]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F80 04 90       STR             R0, [SP,#0xB0+var_A0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F82 9B F8 00 00 LDRB.W          R0, [R11]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F86 01 91       STR             R1, [SP,#0xB0+var_AC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F88 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F8C 0C BF       ITE EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F8E 40 08       LSREQ           R0, R0, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F90 DB F8 04 00 LDRNE.W         R0, [R11,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F94 03 90       STR             R0, [SP,#0xB0+var_A4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F96 0C A9       ADD             R1, SP, #0xB0+var_80</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F98 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F9A 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112F9C CD F8 08 80 STR.W           R8, [SP,#0xB0+var_A8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7112FA0 A0 F7 3F FC BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711335E             loc_C711335E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711335E DD E9 03 24 LDRD.W          R2, R4, [SP,#0xB0+var_A4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113362 B9 F1 01 0F CMP.W           R9, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113366 0B D1       BNE             loc_C7113380</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113368 52 B1       CBZ             R2, loc_C7113380</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711336A 9B F8 00 00 LDRB.W          R0, [R11]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711336E C0 07       LSLS            R0, R0, #0x1F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113370 0C BF       ITE EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113372 0B F1 01 01 ADDEQ.W         R1, R11, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113376 DB F8 08 10 LDRNE.W         R1, [R11,#8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711337A 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711337C A0 F7 51 FA BL              putvuale_sub_C4A7C822</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113380</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113380             loc_C7113380 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113380 54 B1       CBZ             R4, loc_C7113398</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113382 01 99       LDR             R1, [SP,#0xB0+var_AC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113384 08 78       LDRB            R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113386 C0 07       LSLS            R0, R0, #0x1F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113388 0C BF       ITE EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711338A 01 31       ADDEQ           R1, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711338C DB F8 14 10 LDRNE.W         R1, [R11,#0x14]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113390 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113392 22 46       MOV             R2, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113394 A0 F7 45 FA BL              putvuale_sub_C4A7C822   ; 单条加密的设备数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113398</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113398             loc_C7113398</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7113398 98 F8 00 00 LDRB.W          R0, [R8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711339C 10 F0 01 0F TST.W           R0, #1</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">//计算组合后数据的crc</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040BE             crc_sub_CDA3C0BE                        ; CODE XREF: getbody_crc_sub_CDA4AE44+59A↓p</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040BE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040BE             var_8= -8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040BE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040BE             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040BE 82 EA 01 03 EOR.W           R3, R2, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040C2 4E F6 95 12+MOV             R2, #0x5BD1E995</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040C2 C5 F6 D1 32</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040CA 04 29       CMP             R1, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040CC 1B D3       BCC             loc_C7104106</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040CE B0 B5       PUSH            {R4,R5,R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040D0 02 AF       ADD             R7, SP, #0x10+var_8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040D2 A1 F1 04 0E SUB.W           LR, R1, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040D6 2E F0 03 05 BIC.W           R5, LR, #3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040DA 44 19       ADDS            R4, R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040DC 04 F1 04 0C ADD.W           R12, R4, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040E0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040E0             loc_C71040E0                            ; CODE XREF: crc_sub_CDA3C0BE+3C↓j</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040E0 50 F8 04 4B LDR.W           R4, [R0],#4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040E4 53 43       MULS            R3, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040E6 04 39       SUBS            R1, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040E8 03 29       CMP             R1, #3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040EA 02 FB 04 F4 MUL.W           R4, R2, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040EE 84 EA 14 64 EOR.W           R4, R4, R4,LSR#24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040F2 02 FB 04 F4 MUL.W           R4, R2, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040F6 83 EA 04 03 EOR.W           R3, R3, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040FA F1 D8       BHI             loc_C71040E0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71040FC AE EB 05 01 SUB.W           R1, LR, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104100 BD E8 B0 40 POP.W           {R4,R5,R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104104 00 E0       B               sub_C7104108</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">组合后数据(部分)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span style="font-size: 15px;">//组合请求体 计算设备信息crc 第10位起是crc</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29000  DF FA DF FA 01 0D 0A 06  08 25 B9 D2 5F C0 07 0E  .........%......</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29010  0B 5F 18 28 31 40 36 1F  4C 68 9E D2 6D F1 A2 A4  ._.(1@6.Lh......</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29020  18 28 91 E8 24 4A C2 0C  EA 01 86 B6 7B 05 09 AD  .(..........{...</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29030  AC 19 B0 90 5B 57 7F 82  7E FC 76 66 4E A0 35 35  ....[W..~.vfN.55</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29040  C8 BC 7A 6E 69 F5 1A F0  03 63 5D B9 8E B8 94 A9  ȼ zni....c].....</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29050  46 12 6B BC EC 20 F2 02  00 08 64 00 05 28 02 0A  F.k.......d..(..</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29060  00 0D 00 00 00 00 C4 CF  4A 0F C4 CF 4A 0F 76 4A  ........J...J.vJ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29070  48 03 2C E0 93 C5 4D E3  00 00 86 20 A4 6E 7D 01  H.,...M.... .n}.</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29080  00 00 86 20 A4 6E 7D 01  00 00 C3 83 7B BD 7D 01  ... .n}...Ã {.}.</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29090  00 00 00 10 85 01 00 00  00 00 00 80 4C 01 00 00  ............L...</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA290A0  00 00 00 20 57 EB 00 00  00 00 00 00 00 00 00 00  ... W...........</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA290B0  00 00 00 00 00 00 00 00  00 00 0E 03 37 05 21 04  ............7.!.</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA290C0  3C 01 65 02 66 06 67 05  69 02 6A 06 6B 05 74 06  &lt;.e.f.g.i.j.k.t.</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA290D0  28 04 27 02 32 02 2E 05  C9 02 18 01 19 02 31 03  (.&#39;.2.........1.</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA290E0  33 05 3B 03 00 06 01 01  02 02 26 01 0C 01 0D 04  3.;.......&amp;.....</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA290F0  06 03 07 01 05 06 25 01  09 02 08 01 64 02 03 04  ......%.....d...</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29100  0A 03 1A 01 29 30 2E 3A  6B 72 38 31 2C 72 3D 31  ....)0.:kr81,r=1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29110  2E 30 72 39 31 31 39 34  3B 72 3D 31 33 00 5B 4E  .0r91194;r=13.[N</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29120  45 4E 4A 5C 4E 06 44 4E  52 5C 00 80 78 78 80 75  ENJ\N.DNR\..xx.u</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29130  7E 38 76 7A 6B 75 72 77  38 76 7A 6B 75 72 77 23  ~8vzkurw8vzkurw#</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">CAA29140  2A 29 38 4A 49 2A 5A 37  2A 22 2A 29 29 2E 37 29  *)8JI*Z7*&#34;*)).7)</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">压缩加密组合后数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             vm_enc_body_sub_C8E49244</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_58= -0x58</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_54= -0x54</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_50= -0x50</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_4C= -0x4C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_48= -0x48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_44= -0x44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_40= -0x40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_3C= -0x3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_38= -0x38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_30= -0x30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_28= -0x28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_1C= -0x1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             var_18= -0x18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             arg_0=  8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117244 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117246 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117248 2D E9 00 07 PUSH.W          {R8-R10}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711724C 90 B0       SUB             SP, SP, #0x40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711724E 6C 46       MOV             R4, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117250 6F F3 03 04 BFC.W           R4, #0, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117254 A5 46       MOV             SP, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117256 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117258 29 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC7117262)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711725A 98 46       MOV             R8, R3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711725C 15 46       MOV             R5, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711725E 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117260 0E 46       MOV             R6, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117262 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117264 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117266 0F 90       STR             R0, [SP,#0x58+var_1C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117268 F8 F7 DE FB BL              DecString_loc_C5D9FA28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711726C 25 48       LDR             R0, =(off_C719AF1C - 0xC7117276)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711726E 26 49       LDR             R1, =(off_C719AF20 - 0xC711727A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117270 26 4A       LDR             R2, =(off_C719AF24 - 0xC7117280)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117272 78 44       ADD             R0, PC                  ; off_C719AF1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117274 26 4B       LDR             R3, =(off_C719AF28 - 0xC7117286)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117276 79 44       ADD             R1, PC                  ; off_C719AF20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117278 DF F8 98 C0 LDR.W           R12, =(off_C719AF2C - 0xC711728C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711727C 7A 44       ADD             R2, PC                  ; off_C719AF24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711727E DF F8 98 E0 LDR.W           LR, =(off_C719AF30 - 0xC7117290)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117282 7B 44       ADD             R3, PC                  ; off_C719AF28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117284 DF F8 94 90 LDR.W           R9, =(off_C719AF34 - 0xC7117294)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117288 FC 44       ADD             R12, PC                 ; off_C719AF2C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711728A 00 68       LDR             R0, [R0]                ; unk_1F6B475D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711728C FE 44       ADD             LR, PC                  ; off_C719AF30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711728E 09 68       LDR             R1, [R1]                ; unk_E103CAD5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117290 F9 44       ADD             R9, PC                  ; off_C719AF34</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117292 D2 F8 00 A0 LDR.W           R10, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117296 1B 68       LDR             R3, [R3]                ; unk_EF4A43D1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117298 02 96       STR             R6, [SP,#0x58+var_50]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711729A DC F8 00 60 LDR.W           R6, [R12]               ; unk_DFC4E66F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C711729E 01 94       STR             R4, [SP,#0x58+var_54]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172A0 DE F8 00 40 LDR.W           R4, [LR]                ; unk_2AD2FC11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172A4 03 95       STR             R5, [SP,#0x58+var_4C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172A6 BA 68       LDR             R2, [R7,#arg_0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172A8 D9 F8 00 50 LDR.W           R5, [R9]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172AC CD F8 10 80 STR.W           R8, [SP,#0x58+var_48]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172B0 05 92       STR             R2, [SP,#0x58+var_44]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172B2 1B 4A       LDR             R2, =(off_C719AF38 - 0xC71172B8)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172B4 7A 44       ADD             R2, PC                  ; off_C719AF38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172B6 12 68       LDR             R2, [R2]                ; unk_25B83385</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172B8 06 90       STR             R0, [SP,#0x58+var_40]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172BA 1A 48       LDR             R0, =(off_C719AF3C - 0xC71172C0)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172BC 78 44       ADD             R0, PC                  ; off_C719AF3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172BE 00 68       LDR             R0, [R0]                ; unk_D8E2104D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172C0 07 91       STR             R1, [SP,#0x58+var_3C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172C2 19 49       LDR             R1, =(off_C719AF40 - 0xC71172C8)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172C4 79 44       ADD             R1, PC                  ; off_C719AF40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172C6 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172C8 CD E9 08 A3 STRD.W          R10, R3, [SP,#0x58+var_38]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172CC CD E9 0A 64 STRD.W          R6, R4, [SP,#0x58+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172D0 CD E9 0C 52 STRD.W          R5, R2, [SP,#0x58+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172D4 6A 46       MOV             R2, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172D6 0E 90       STR             R0, [SP,#0x58+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172D8 4F F4 3C 70 MOV.W           R0, #0x2F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172DC F9 F7 52 F8 BL              VM_Entrance_loc_CDF4C384 ; R:传入不同数字代走不同逻辑</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172E0 12 49       LDR             R1, =(__stack_chk_guard_ptr - 0xC71172E8)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172E2 00 98       LDR             R0, [SP,#0x58+var_58]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172E4 79 44       ADD             R1, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172E6 0F 9A       LDR             R2, [SP,#0x58+var_1C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172E8 09 68       LDR             R1, [R1]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172EA 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172EC 89 1A       SUBS            R1, R1, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172EE 01 BF       ITTTT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172F0 A7 F1 18 04 SUBEQ.W         R4, R7, #-var_18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172F4 A5 46       MOVEQ           SP, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172F6 BD E8 00 07 POPEQ.W         {R8-R10}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C71172FA F0 BD       POPEQ           {R4-R7,PC}</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">压缩</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">text:C7117A0E EF F7 11 F9 BL              compress_sub_BF10CC34   ; R0:返回地址,R2:加密的设备数据，R3:大小 compress</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117A12 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117A14 DB F8 44 00 LDR.W           R0, [R11,#(dword_C71A02E4 - 0xC71A02A0)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117A18 DB F8 B4 10 LDR.W           R1, [R11,#(dword_C71A0354 - 0xC71A02A0)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117A1C 08 43       ORRS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117A1E 4D F6 FD 51+MOV             R1, #0x775EDDFD</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117A1E C7 F2 5E 71</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7117A26 88 42       CMP             R0, R1</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">生成AES密钥</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">计算 7dfd964a-0377-4188-ada7-0758b4f7f63b 的md5值，该值为sdk appkey解密出来的</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104000             md5_sub_D5C3E000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104000             var_1C= -0x1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104000             var_14= -0x14</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104000             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104000 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104002 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104004 4D F8 04 BD PUSH.W          {R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104008 84 B0       SUB             SP, SP, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710400A 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710400C 1A 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC7104016)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710400E 01 AE       ADD             R6, SP, #0x20+var_1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104010 0C 46       MOV             R4, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104012 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104014 04 F1 10 01 ADD.W           R1, R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104018 08 22       MOVS            R2, #8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710401A 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710401C 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710401E 03 90       STR             R0, [SP,#0x20+var_14]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104020 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104022 00 F0 2F F8 BL              md5_init_sub_CB17B084</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104026 20 69       LDR             R0, [R4,#0x10]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104028 78 22       MOVS            R2, #0x78 ; &#39;x&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710402A 14 49       LDR             R1, =(off_C719EE58 - 0xC7104034)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710402C C0 F3 C5 00 UBFX.W          R0, R0, #3, #6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104030 79 44       ADD             R1, PC                  ; off_C719EE58</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104032 38 28       CMP             R0, #0x38 ; &#39;8&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104034 38 BF       IT CC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104036 38 22       MOVCC           R2, #0x38 ; &#39;8&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104038 12 1A       SUBS            R2, R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710403A 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710403C FF F7 C8 FB BL              md5_update_sub_D5C3D7D0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104040 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104042 31 46       MOV             R1, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104044 08 22       MOVS            R2, #8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104046 FF F7 C3 FB BL              md5_update_sub_D5C3D7D0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710404A 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710404C 21 46       MOV             R1, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710404E 10 22       MOVS            R2, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104050 00 F0 18 F8 BL              md5_init_sub_CB17B084   ; R0:返回值</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104054 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104056 58 21       MOVS            R1, #0x58 ; &#39;X&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104058 A5 F7 62 EB BLX             __aeabi_memclr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710405C 08 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC7104064)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710405E 03 99       LDR             R1, [SP,#0x20+var_14]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104060 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104062 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104064 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104066 40 1A       SUBS            R0, R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104068 02 BF       ITTT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710406A 04 B0       ADDEQ           SP, SP, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C710406C 5D F8 04 BB POPEQ.W         {R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C7104070 F0 BD       POPEQ           {R4-R7,PC}</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">计算后的MD5值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span style="font-size: 15px;">C7094F80  CB C5 B0 32 9C 91 1A 82  0D F1 0C 30 6D 81 99 10</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">AES 加密</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">//初始化key</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             ; R1:KEY,R2:IV</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             ; int __fastcall AES_initkey_sub_CDB519E8(_DWORD, _DWORD, _DWORD)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             var_48= -0x48</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             var_38= -0x38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             var_34= -0x34</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             var_30= -0x30</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             var_2C= -0x2C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             var_24= -0x24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             var_14= -0x14</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             var_10= -0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9E8 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9EA 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9EC 4D F8 04 BD PUSH.W          {R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9F0 8E B0       SUB             SP, SP, #0x38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9F2 6C 46       MOV             R4, SP</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9F4 6F F3 03 04 BFC.W           R4, #0, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9F8 A5 46       MOV             SP, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9FA 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9FC 19 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC70FEA06)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FE9FE 14 46       MOV             R4, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA00 1A 4A       LDR             R2, =(off_C719AA44 - 0xC70FEA0C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA02 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA04 0D 46       MOV             R5, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA06 18 49       LDR             R1, =(off_C719AA40 - 0xC70FEA12)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA08 7A 44       ADD             R2, PC                  ; off_C719AA44</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA0A 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA0C 28 23       MOVS            R3, #0x28 ; &#39;(&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA0E 79 44       ADD             R1, PC                  ; off_C719AA40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA10 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA12 0D 90       STR             R0, [SP,#0x48+var_14]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA14 08 68       LDR             R0, [R1]                ; unk_257D1632</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA16 11 68       LDR             R1, [R2]                ; unk_257B6842</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA18 15 4A       LDR             R2, =(unk_C71A71F0 - 0xC70FEA1E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA1A 7A 44       ADD             R2, PC                  ; unk_C71A71F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA1C 00 92       STR             R2, [SP,#0x48+var_48]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA1E C0 22       MOVS            R2, #0xC0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA20 FF F7 C6 FE BL              initkey_sub_C5D8E7B0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA24 13 48       LDR             R0, =(off_C719AA34 - 0xC70FEA2E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA26 14 49       LDR             R1, =(off_C719AA38 - 0xC70FEA30)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA28 14 4A       LDR             R2, =(off_C719AA3C - 0xC70FEA34)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA2A 78 44       ADD             R0, PC                  ; off_C719AA34</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA2C 79 44       ADD             R1, PC                  ; off_C719AA38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA2E 03 68       LDR             R3, [R0]                ; unk_231A4F2F</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA30 7A 44       ADD             R2, PC                  ; off_C719AA3C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA32 05 96       STR             R6, [SP,#0x48+var_34]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA34 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA36 06 95       STR             R5, [SP,#0x48+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA38 10 68       LDR             R0, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA3A CD E9 07 43 STRD.W          R4, R3, [SP,#0x48+var_2C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA3E 09 91       STR             R1, [SP,#0x48+var_24]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA40 04 A9       ADD             R1, SP, #0x48+var_38</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA42 00 F0 1F F8 BL              AES_initkey_loc_CB175A84</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA46 0E 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC70FEA4E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA48 0D 99       LDR             R1, [SP,#0x48+var_14]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA4A 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA4C 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA4E 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA50 40 1A       SUBS            R0, R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA52 01 BF       ITTTT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA54 A7 F1 10 04 SUBEQ.W         R4, R7, #-var_10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA58 A5 46       MOVEQ           SP, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA5A 5D F8 04 BB POPEQ.W         {R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FEA5E F0 BD       POPEQ           {R4-R7,PC}</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">//AES 加密</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB10             ; R0:初始化的key,R1:数据,R2:大小</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB10             AES_Encdata_sub_C290EB10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB10             ; __unwind { // FBF89000</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB10 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB12 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB14 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB18 8B B0       SUB             SP, SP, #0x2C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB1A 00 EE 10 2A VMOV            S0, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB1E 9F ED 64 1B VLDR            D1, =0.1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB22 88 46       MOV             R8, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB22             ; End of function AES_Encdata_sub_C290EB10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB22</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB24             ; START OF FUNCTION CHUNK FOR sub_C7100108</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB24             loc_C70FFB24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB24 00 F1 B0 04 ADD.W           R4, R0, #0xB0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB28 B8 EE 40 0B VCVT.F64.U32    D0, S0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB2C 6F F0 71 03 MOV             R3, #0xFFFFFF8E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB30 41 F6 AE 26 MOVW            R6, #0x1AAE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB34 30 EE 01 0B VADD.F64        D0, D0, D1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB38 BC EE C0 0B VCVT.U32.F64    S0, D0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB3C 10 EE 10 2A VMOV            R2, S0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB40 03 92       STR             R2, [SP,#0x50+var_44]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB42 5D 4A       LDR             R2, =(off_C719DA5C - 0xC70FFB4C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB44 00 90       STR             R0, [SP,#0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB46 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB48 7A 44       ADD             R2, PC                  ; off_C719DA5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB4A 08 90       STR             R0, [SP,#0x50+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB4C 38 20       MOVS            R0, #0x38 ; &#39;8&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB4E 15 68       LDR             R5, [R2]                ; unk_C719E810</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB50 5B 4A       LDR             R2, =(off_C719DA60 - 0xC70FFB56)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB52 7A 44       ADD             R2, PC                  ; off_C719DA60</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB54 D2 F8 00 B0 LDR.W           R11, [R2]               ; unk_C719E850</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB58 58 4A       LDR             R2, =(off_C719DA5C - 0xC70FFB5E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB5A 7A 44       ADD             R2, PC                  ; off_C719DA5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB5C             loc_C70FFB5C                            ; CODE XREF: sub_C7100108-51A↓j</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB5C 12 68       LDR             R2, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB5E 01 92       STR             R2, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB60 CD F8 10 80 STR.W           R8, [SP,#0x50+var_40]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB64 05 94       STR             R4, [SP,#0x50+var_3C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB66 2A E0       B               loc_C70FFBBE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB68</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB68             loc_C70FFB68</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB68 5A 48       LDR             R0, =(dword_C719E9F4 - 0xC70FFB6E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB6A 78 44       ADD             R0, PC                  ; dword_C719E9F4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB6C 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB6E 5A 48       LDR             R0, =(off_C719E9F8 - 0xC70FFB74)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB70 78 44       ADD             R0, PC                  ; off_C719E9F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB72 00 68       LDR             R0, [R0]                ; dword_C709A0A0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB74 0A 90       STR             R0, [SP,#0x50+var_28]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB76 59 48       LDR             R0, =(off_C719E9FC - 0xC70FFB7C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB78 78 44       ADD             R0, PC                  ; off_C719E9FC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB7A 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB7C 09 90       STR             R0, [SP,#0x50+var_2C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB7E 2E 20       MOVS            R0, #0x2E ; &#39;.&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB80 1D E0       B               loc_C70FFBBE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB82</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB82             loc_C70FFB82</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB82 57 48       LDR             R0, =(off_C719EA04 - 0xC70FFB8A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB84 57 49       LDR             R1, =(dword_C71A72F8 - 0xC70FFB8C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB86 78 44       ADD             R0, PC                  ; off_C719EA04</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB88 79 44       ADD             R1, PC                  ; dword_C71A72F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB8A 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB8C 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB8E 56 49       LDR             R1, =(dword_C719EA08 - 0xC70FFB96)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB90 00 2A       CMP             R2, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB92 79 44       ADD             R1, PC                  ; dword_C719EA08</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB94 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB96 05 D1       BNE             loc_C70FFBA4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB98 00 F0 AA F8 BL              getdec_enc_func_sub_CDB52CF0 ; getdecencfunc</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB9C 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFB9E 53 48       LDR             R0, =(dword_C71A72F8 - 0xC70FFBA4)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBA0 78 44       ADD             R0, PC                  ; dword_C71A72F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBA2 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBA4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBA4             loc_C70FFBA4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBA4 00 99       LDR             R1, [SP,#0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBA6 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBA8 90 47       BLX             R2                      ; 加解密</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBAA 02 99       LDR             R1, [SP,#0x50+var_48]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBAC A9 F1 02 00 SUB.W           R0, R9, #2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBB0 6F F0 71 03 MOV             R3, #0xFFFFFF8E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBB4 10 31       ADDS            R1, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBB6 08 91       STR             R1, [SP,#0x50+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBB8 06 9C       LDR             R4, [SP,#0x50+var_38]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBBA 04 F1 10 08 ADD.W           R8, R4, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBBE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBBE             loc_C70FFBBE </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBBE A9 7E       LDRB            R1, [R5,#(dword_C719E828+2 - 0xC719E810)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBC0 59 43       MULS            R1, R3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBC2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBC2             loc_C70FFBC2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBC2 81 46       MOV             R9, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBC4             loc_C70FFBC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBC4 B9 F1 36 0F CMP.W           R9, #0x36 ; &#39;6&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBC8 2C DD       BLE             loc_C70FFC24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBCA C8 B2       UXTB            R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBCC FC 28       CMP             R0, #0xFC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBCE F9 D0       BEQ             loc_C70FFBC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBD0 B9 F1 38 0F CMP.W           R9, #0x38 ; &#39;8&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBD4 0F DB       BLT             loc_C70FFBF6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBD6 4F F0 29 00 MOV.W           R0, #0x29 ; &#39;)&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBDA F2 D0       BEQ             loc_C70FFBC2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBDC 01 99       LDR             R1, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBDE 91 F8 25 00 LDRB.W          R0, [R1,#0x25]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBE2 91 F8 26 10 LDRB.W          R1, [R1,#0x26]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBE6 48 43       MULS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBE8 C0 B2       UXTB            R0, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBEA 4C 28       CMP             R0, #0x4C ; &#39;L&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBEC C9 D1       BNE             loc_C70FFB82</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBEE B5 D7       BVC             loc_C70FFB5C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBF0 0C 59       LDR             R4, [R1,R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBF2 24 8B       LDRH            R4, [R4,#0x18]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBF4 0F 41       ASRS            R7, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBF6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBF6             loc_C70FFBF6 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBF6 40 F6 87 20 MOVW            R0, #0xA87</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBFA 49 46       MOV             R1, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFBFC 60 F0 8E FF BL              nop_sub_CEF29B1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC00 03 99       LDR             R1, [SP,#0x50+var_44]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC02 6F F0 71 03 MOV             R3, #0xFFFFFF8E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC06 08 9A       LDR             R2, [SP,#0x50+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC08 8A 42       CMP             R2, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC0A 28 BF       IT CS</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC0C 89 F0 10 00 EORCS.W         R0, R9, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC10 02 92       STR             R2, [SP,#0x50+var_48]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC12 CD E9 06 84 STRD.W          R8, R4, [SP,#0x50+var_38]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC16 D2 E7       B               loc_C70FFBBE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC18             loc_C70FFC18 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC18 80 FD BA EE STC             p14, c14, [R0,#0x2E8]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC1C 2B AC       ADD             R4, SP, #0xAC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC1E E6 1E       SUBS            R6, R4, #3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC20 A7 61       STR             R7, [R4,#0x18]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC20             ; END OF FUNCTION CHUNK FOR sub_C7100108</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC22 D2          DCB 0xD2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC23 FA          DCB 0xFA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC24             ; START OF FUNCTION CHUNK FOR sub_C7100108</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC24             loc_C70FFC24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC24 B9 F1 2E 0F CMP.W           R9, #0x2E ; &#39;.&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC28 23 DB       BLT             loc_C70FFC72</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC2A B9 F1 31 0F CMP.W           R9, #0x31 ; &#39;1&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC2E BF F6 9B AF BGE.W           loc_C70FFB68</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC32 BB F8 5C 00 LDRH.W          R0, [R11,#(word_C719E8AC - 0xC719E850)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC36 B0 42       CMP             R0, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC38 EE D0       BEQ             loc_C70FFC18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC3A 23 48       LDR             R0, =(dword_C71A72F4 - 0xC70FFC40)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC3C 78 44       ADD             R0, PC                  ; dword_C71A72F4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC3E 02 68       LDR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC40 3A B9       CBNZ            R2, loc_C70FFC52</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC42 DD E9 09 10 LDRD.W          R1, R0, [SP,#0x50+var_2C]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC46 00 F0 53 F8 BL              getdec_enc_func_sub_CDB52CF0 ; getdecencfunc</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC4A 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC4C 1F 48       LDR             R0, =(dword_C71A72F4 - 0xC70FFC52)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC4E 78 44       ADD             R0, PC                  ; dword_C71A72F4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC50 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC52</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC52             loc_C70FFC52</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC52 DD F8 18 A0 LDR.W           R10, [SP,#0x50+var_38]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC56 07 99       LDR             R1, [SP,#0x50+var_34]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC58 50 46       MOV             R0, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC5A 90 47       BLX             R2                      ; 解密</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC5C 1C 48       LDR             R0, =(unk_C719EA00 - 0xC70FFC64)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC5E 49 46       MOV             R1, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC60 78 44       ADD             R0, PC                  ; unk_C719EA00</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC62 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC64 40 F6 3E 20 MOVW            R0, #0xA3E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC68 60 F0 58 FF BL              nop_sub_CEF29B1C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC6C 6F F0 71 03 MOV             R3, #0xFFFFFF8E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC70 A5 E7       B               loc_C70FFBBE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC72</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC72             loc_C70FFC72</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC72 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC74 B9 F1 29 0F CMP.W           R9, #0x29 ; &#39;)&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC78 08 90       STR             R0, [SP,#0x50+var_30]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC7A 4F F0 37 00 MOV.W           R0, #0x37 ; &#39;7&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC7E DD E9 04 84 LDRD.W          R8, R4, [SP,#0x50+var_40]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC82 3F F4 9C AF BEQ.W           loc_C70FFBBE</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC86 0F 48       LDR             R0, =(off_C719DA60 - 0xC70FFC90)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC88 44 F2 EA 11 MOVW            R1, #0x41EA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC8C 78 44       ADD             R0, PC                  ; off_C719DA60</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC8E 00 68       LDR             R0, [R0]                ; unk_C719E850</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC90 B0 F8 46 00 LDRH.W          R0, [R0,#(word_C719E896 - 0xC719E850)]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC94</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC94             loc_C70FFC94 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC94 88 42       CMP             R0, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC96 FD D1       BNE             loc_C70FFC94</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC98 05 98       LDR             R0, [SP,#0x50+var_3C]   ; 加密结束</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC9A 10 22       MOVS            R2, #0x10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC9C 07 99       LDR             R1, [SP,#0x50+var_34]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFC9E 0B B0       ADD             SP, SP, #0x2C ; &#39;,&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFCA0 BD E8 00 0F POP.W           {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70FFCA4 BD E8 F0 40 POP.W           {R4-R7,LR}</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 15px;">加密后(部分)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span style="font-size: 15px;">DE749300  21 90 DA C9 7A 71 49 C4  0C 6F E0 87 66 88 21 9B  !...zqI..o....!.</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">DE749310  25 E3 B3 8F 95 FB AE 3E  45 1E 02 F7 6C 66 12 20  %㳏  ...&gt;E...... </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">DE749320  1C 9A F7 5A E9 D7 9E B3  26 FE EB 37 17 2E 33 62  ........&amp;.....3b</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">DE749330  59 E2 7D 16 86 E7 48 9C  EB 83 5B 7E 65 BD 18 DA  Y..........~e...</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">DE749340  6A 9C 78 73 28 FC AF F1  C8 81 2B 57 AB C3 4F DE  j.xs(......W....</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">DE749350  3F 6D 4A C9 6B A8 5F D5  CC 1E 44 53 1F 22 C9 62  ?mJ..._...DS.&#34;..</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">DE749360  94 B7 32 94 5D 7C 2E BF  04 12 A0 4C 1C AB 76 41  ..2.]|.....L..vA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">DE749370  86 CD 05 BF 90 04 BF F0  F6 87 A4 0B 01 87 5B CA  ..............[.</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">DE749380  45 F0 46 5F 8D A1 5B 62  8D 02 53 21 0C 42 BA 53  E.....[b..S!.B.S</span></span></code></pre></section><p data-source-line="133" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-weight: 600;font-size: 15px;">发送服务器请求设备指纹：</span></p><p data-source-line="2696" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 15px;">反射java层发送网络请求</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244             postnet_sub_C8DF9244 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244             var_D0= -0xD0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244             var_CC= -0xCC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244             var_C4= -0xC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244             var_C0= -0xC0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244             var_70= -0x70</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244             var_20= -0x20</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244             arg_0=  8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244             ; __unwind { // C7149914</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7244 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7246 03 AF       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7248 2D E9 00 0F PUSH.W          {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C724C AD B0       SUB             SP, SP, #0xB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C724E 04 46       MOV             R4, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7250 9C 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC70C725A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7252 1D 46       MOV             R5, R3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7254 16 46       MOV             R6, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7256 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7258 89 46       MOV             R9, R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C725A 00 68       LDR             R0, [R0]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C725C 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C725E 2C 90       STR             R0, [SP,#0xD0+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7260 E3 F7 9E FF BL              Dec_RiskString_sub_CEE741A0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7264 31 78       LDRB            R1, [R6]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7266 70 68       LDR             R0, [R6,#4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7268 11 F0 01 0F TST.W           R1, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C726C 08 BF       IT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C726E 48 08       LSREQ           R0, R1, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7270 00 28       CMP             R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7272 00 F0 10 81 BEQ.W           loc_C70C7496</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7276 94 48       LDR             R0, =(dword_C719E4E0 - 0xC70C7280)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7278 94 49       LDR             R1, =(dword_C71A4CB0 - 0xC70C7282)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C727A 95 4B       LDR             R3, =(off_C719E4E4 - 0xC70C7288)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C727C 78 44       ADD             R0, PC                  ; dword_C719E4E0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C727E 79 44       ADD             R1, PC                  ; dword_C71A4CB0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7280 D7 F8 08 B0 LDR.W           R11, [R7,#arg_0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7284 7B 44       ADD             R3, PC                  ; off_C719E4E4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7286 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7288 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C728A 18 68       LDR             R0, [R3]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C728C 3A B9       CBNZ            R2, loc_C70C729E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C728E 40 F2 0B 71 MOVW            R1, #0x70B</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7292 EF F7 FD FD BL              getFunc_loc_CF103E90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7296 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7298 8E 48       LDR             R0, =(dword_C71A4CB0 - 0xC70C729E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C729A 78 44       ADD             R0, PC                  ; dword_C71A4CB0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C729C 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C729E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C729E             loc_C70C729E                            ; CODE XREF: postnet_sub_C8DF9244+48↑j</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C729E 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72A0 31 46       MOV             R1, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72A2 90 47       BLX             R2                      ; NewStringUTF url</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72A4 80 46       MOV             R8, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72A6 20 68       LDR             R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72A8 59 46       MOV             R1, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72AA D0 F8 C0 22 LDR.W           R2, [R0,#0x2C0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72AE 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72B0 90 47       BLX             R2                      ; CheckJNI12NewByteArray</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72B2 82 46       MOV             R10, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72B4 20 68       LDR             R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72B6 51 46       MOV             R1, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72B8 00 22       MOVS            R2, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72BA 5B 46       MOV             R3, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72BC D0 F8 40 63 LDR.W           R6, [R0,#0x340]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72C0 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72C2 00 95       STR             R5, [SP,#0xD0+var_D0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72C4 B0 47       BLX             R6                      ; SetByteArrayRegion R5:请求体数据</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72C6 20 68       LDR             R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72C8 D0 F8 90 13 LDR.W           R1, [R0,#0x390]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72CC 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72CE 88 47       BLX             R1                      ; ExceptionCheck</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72D0 18 B1       CBZ             R0, loc_C70C72DA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72D2 20 68       LDR             R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72D4 41 6C       LDR             R1, [R0,#0x44]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72D6 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72D8 88 47       BLX             R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72DA</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72DA             loc_C70C72DA                            ; CODE XREF: postnet_sub_C8DF9244+8C↑j</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72DA 7F 48       LDR             R0, =(off_C7196D78 - 0xC70C72E4)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72DC 49 23       MOVS            R3, #0x49 ; &#39;I&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72DE 7F 49       LDR             R1, =(off_C7196D7C - 0xC70C72E8)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72E0 78 44       ADD             R0, PC                  ; off_C7196D78</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72E2 7F 4A       LDR             R2, =(unk_C71A4CB4 - 0xC70C72F0)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72E4 79 44       ADD             R1, PC                  ; off_C7196D7C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72E6 CD F8 0C 90 STR.W           R9, [SP,#0xD0+var_C4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72EA 00 68       LDR             R0, [R0]                ; unk_19811E40</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72EC 7A 44       ADD             R2, PC                  ; unk_C71A4CB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72EE 09 68       LDR             R1, [R1]                ; unk_197F6CE8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72F0 00 92       STR             R2, [SP,#0xD0+var_D0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72F2 03 22       MOVS            R2, #3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72F4 E3 F7 1C FD BL              DecString_loc_CEE73D30  ; pB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72F8 7B 49       LDR             R1, =(off_C7196D84 - 0xC70C7304)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72FA 83 46       MOV             R11, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72FC 79 48       LDR             R0, =(off_C7196D80 - 0xC70C7308)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C72FE 15 23       MOVS            R3, #0x15</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7300 79 44       ADD             R1, PC                  ; off_C7196D84</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7302 7A 4A       LDR             R2, =(unk_C71A4CB5 - 0xC70C730A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7304 78 44       ADD             R0, PC                  ; off_C7196D80</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7306 7A 44       ADD             R2, PC                  ; unk_C71A4CB5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7308 00 68       LDR             R0, [R0]                ; unk_19811E28</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C730A 09 68       LDR             R1, [R1]                ; unk_197F6CD0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C730C 00 92       STR             R2, [SP,#0xD0+var_D0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C730E 18 22       MOVS            R2, #0x18</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7310 E3 F7 0E FD BL              DecString_loc_CEE73D30  ; (Ljava/lang/String;[B)I</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7314 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7316 76 48       LDR             R0, =(dword_C719E4E8 - 0xC70C7320)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7318 76 49       LDR             R1, =(off_C719E4EC - 0xC70C7324)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C731A 77 4A       LDR             R2, =(dword_C71A4CB8 - 0xC70C7326)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C731C 78 44       ADD             R0, PC                  ; dword_C719E4E8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C731E 77 4B       LDR             R3, =(dword_C719E4F0 - 0xC70C732A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7320 79 44       ADD             R1, PC                  ; off_C719E4EC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7322 7A 44       ADD             R2, PC                  ; dword_C71A4CB8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7324 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7326 7B 44       ADD             R3, PC                  ; dword_C719E4F0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7328 08 68       LDR             R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C732A 15 68       LDR             R5, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C732C 19 68       LDR             R1, [R3]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C732E 2D B9       CBNZ            R5, loc_C70C733C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7330 EF F7 AE FD BL              getFunc_loc_CF103E90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7334 05 46       MOV             R5, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7336 72 48       LDR             R0, =(dword_C71A4CB8 - 0xC70C733C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7338 78 44       ADD             R0, PC                  ; dword_C71A4CB8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C733A 05 60       STR             R5, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C733C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C733C             loc_C70C733C                            ; CODE XREF: postnet_sub_C8DF9244+EA↑j</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C733C 71 48       LDR             R0, =(aComAliyunTiger - 0xC70C7348) ; &#34;com/aliyun/TigerTally/AppInfo&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C733E C1 46       MOV             R9, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7340 21 46       MOV             R1, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7342 5A 46       MOV             R2, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7344 78 44       ADD             R0, PC                  ; &#34;com/aliyun/TigerTally/AppInfo&#34;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7346 00 90       STR             R0, [SP,#0xD0+var_D0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7348 CD E9 01 8A STRD.W          R8, R10, [SP,#0xD0+var_CC]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C734C 0D F1 10 08 ADD.W           R8, SP, #0xD0+var_C0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7350 33 46       MOV             R3, R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7352 40 46       MOV             R0, R8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7354 A8 47       BLX             R5                      ; GetStaticMethodID pB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7356 18 98       LDR             R0, [SP,#0xD0+var_70]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7358 18 B1       CBZ             R0, loc_C70C7362</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C735A 08 F1 40 00 ADD.W           R0, R8, #0x40 ; &#39;@&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C735E E9 F7 F3 FB BL              CallStaticIntMethodV_sub_C4A79B48 ; pB</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7362</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7362             loc_C70C7362</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7362 69 48       LDR             R0, =(dword_C719E4F4 - 0xC70C736C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7364 69 49       LDR             R1, =(dword_C71A472C - 0xC70C736E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7366 6A 4B       LDR             R3, =(dword_C719E4F8 - 0xC70C7370)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7368 78 44       ADD             R0, PC                  ; dword_C719E4F4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C736A 79 44       ADD             R1, PC                  ; dword_C71A472C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C736C 7B 44       ADD             R3, PC                  ; dword_C719E4F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C736E 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7370 0A 68       LDR             R2, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7372 19 68       LDR             R1, [R3]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7374 3A B9       CBNZ            R2, loc_C70C7386</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7376 41 F6 21 20 MOVW            R0, #0x1A21</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C737A EF F7 89 FD BL              getFunc_loc_CF103E90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C737E 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7380 64 48       LDR             R0, =(dword_C71A472C - 0xC70C7386)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7382 78 44       ADD             R0, PC                  ; dword_C71A472C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7384 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7386</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7386             loc_C70C7386  </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7386 04 A8       ADD             R0, SP, #0xD0+var_C0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7388 90 47       BLX             R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C738A 63 48       LDR             R0, =(off_C7196D88 - 0xC70C7394)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C738C 39 23       MOVS            R3, #0x39 ; &#39;9&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C738E 63 49       LDR             R1, =(off_C7196D8C - 0xC70C7398)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7390 78 44       ADD             R0, PC                  ; off_C7196D88</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7392 63 4A       LDR             R2, =(unk_C71A4CBC - 0xC70C739C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7394 79 44       ADD             R1, PC                  ; off_C7196D8C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7396 00 68       LDR             R0, [R0]                ; unk_19811E24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7398 7A 44       ADD             R2, PC                  ; unk_C71A4CBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C739A 09 68       LDR             R1, [R1]                ; unk_197F6CC5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C739C 00 92       STR             R2, [SP,#0xD0+var_D0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C739E 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73A0 E3 F7 C6 FC BL              DecString_loc_CEE73D30  ; req</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73A4 83 46       MOV             R11, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73A6 5F 48       LDR             R0, =(dword_C719E4FC - 0xC70C73B0)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73A8 5F 49       LDR             R1, =(off_C719E500 - 0xC70C73B4)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73AA 60 4A       LDR             R2, =(dword_C71A4CC0 - 0xC70C73B6)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73AC 78 44       ADD             R0, PC                  ; dword_C719E4FC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73AE 60 4B       LDR             R3, =(dword_C719E504 - 0xC70C73BA)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73B0 79 44       ADD             R1, PC                  ; off_C719E500</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73B2 7A 44       ADD             R2, PC                  ; dword_C71A4CC0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73B4 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73B6 7B 44       ADD             R3, PC                  ; dword_C719E504</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73B8 08 68       LDR             R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73BA 16 68       LDR             R6, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73BC 19 68       LDR             R1, [R3]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73BE 2E B9       CBNZ            R6, loc_C70C73CC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73C0 EF F7 66 FD BL              getFunc_loc_CF103E90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73C4 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73C6 5B 48       LDR             R0, =(dword_C71A4CC0 - 0xC70C73CC)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73C8 78 44       ADD             R0, PC                  ; dword_C71A4CC0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73CA 06 60       STR             R6, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73CC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73CC             loc_C70C73CC </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73CC 03 9D       LDR             R5, [SP,#0xD0+var_C4]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73CE 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73D0 5A 46       MOV             R2, R11</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73D2 00 23       MOVS            R3, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73D4 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73D6 B0 47       BLX             R6</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73D8 58 4A       LDR             R2, =(dword_C719E508 - 0xC70C73E2)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73DA 06 46       MOV             R6, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73DC 56 48       LDR             R0, =(dword_C71A4AC4 - 0xC70C73E4)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73DE 7A 44       ADD             R2, PC                  ; dword_C719E508</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73E0 78 44       ADD             R0, PC                  ; dword_C71A4AC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73E2 01 68       LDR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73E4 10 68       LDR             R0, [R2]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73E6 39 B9       CBNZ            R1, loc_C70C73F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73E8 48 F6 B3 01 MOVW            R1, #0x88B3</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73EC EF F7 50 FD BL              getFunc_loc_CF103E90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73F0 01 46       MOV             R1, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73F2 53 48       LDR             R0, =(dword_C71A4AC4 - 0xC70C73F8)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73F4 78 44       ADD             R0, PC                  ; dword_C71A4AC4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73F6 01 60       STR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73F8</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73F8             loc_C70C73F8 </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73F8 52 48       LDR             R0, =(off_C719D5F4 - 0xC70C73FE)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73FA 78 44       ADD             R0, PC                  ; off_C719D5F4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73FC 00 68       LDR             R0, [R0]                ; unk_C71A088C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C73FE 88 47       BLX             R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7400 51 48       LDR             R0, =(off_C7196D90 - 0xC70C740A)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7402 39 23       MOVS            R3, #0x39 ; &#39;9&#39;</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7404 51 49       LDR             R1, =(off_C7196D94 - 0xC70C740E)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7406 78 44       ADD             R0, PC                  ; off_C7196D90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7408 51 4A       LDR             R2, =(unk_C71A4CBC - 0xC70C7412)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C740A 79 44       ADD             R1, PC                  ; off_C7196D94</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C740C 00 68       LDR             R0, [R0]                ; unk_19811E24</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C740E 7A 44       ADD             R2, PC                  ; unk_C71A4CBC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7410 09 68       LDR             R1, [R1]                ; unk_197F6CC5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7412 00 92       STR             R2, [SP,#0xD0+var_D0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7414 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7416 E3 F7 8B FC BL              DecString_loc_CEE73D30  ; req</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C741A 73 1C       ADDS            R3, R6, #1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C741C 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C741E 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7420 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7422 F0 F7 A1 FC BL              call_SharedPreferences_putInt_sub_C8DE9D68</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7426 4B 48       LDR             R0, =(dword_C71A4ACC - 0xC70C742C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7428 78 44       ADD             R0, PC                  ; dword_C71A4ACC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C742A 01 68       LDR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C742C 49 B9       CBNZ            R1, loc_C70C7442</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C742E 44 F6 0D 00 MOVW            R0, #0x480D</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7432 42 F6 3E 71 MOVW            R1, #0x2F3E</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7436 EF F7 2B FD BL              getFunc_loc_CF103E90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C743A 01 46       MOV             R1, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C743C 46 48       LDR             R0, =(dword_C71A4ACC - 0xC70C7442)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C743E 78 44       ADD             R0, PC                  ; dword_C71A4ACC</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7440 01 60       STR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7442</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7442             loc_C70C7442</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7442 46 48       LDR             R0, =(off_C719D5F4 - 0xC70C7448)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7444 78 44       ADD             R0, PC                  ; off_C719D5F4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7446 00 68       LDR             R0, [R0]                ; unk_C71A088C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7448 88 47       BLX             R1</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C744A 45 48       LDR             R0, =(dword_C71A4734 - 0xC70C7452)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C744C 45 49       LDR             R1, =(dword_C719E50C - 0xC70C7454)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C744E 78 44       ADD             R0, PC                  ; dword_C71A4734</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7450 79 44       ADD             R1, PC                  ; dword_C719E50C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7452 02 68       LDR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7454 08 68       LDR             R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7456 3A B9       CBNZ            R2, loc_C70C7468</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7458 43 F6 AD 41 MOVW            R1, #0x3CAD</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C745C EF F7 18 FD BL              getFunc_loc_CF103E90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7460 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7462 41 48       LDR             R0, =(dword_C71A4734 - 0xC70C7468)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7464 78 44       ADD             R0, PC                  ; dword_C71A4734</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7466 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7468</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7468             loc_C70C7468</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7468 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C746A 51 46       MOV             R1, R10</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C746C 90 47       BLX             R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C746E 3F 48       LDR             R0, =(dword_C71A4734 - 0xC70C7476)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7470 3F 49       LDR             R1, =(dword_C719E510 - 0xC70C7478)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7472 78 44       ADD             R0, PC                  ; dword_C71A4734</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7474 79 44       ADD             R1, PC                  ; dword_C719E510</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7476 02 68       LDR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7478 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C747A 3A B9       CBNZ            R2, loc_C70C748C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C747C 46 F2 26 20 MOVW            R0, #0x6226</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7480 EF F7 06 FD BL              getFunc_loc_CF103E90</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7484 02 46       MOV             R2, R0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7486 3B 48       LDR             R0, =(dword_C71A4734 - 0xC70C748C)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7488 78 44       ADD             R0, PC                  ; dword_C71A4734</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C748A 02 60       STR             R2, [R0]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C748C</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C748C             loc_C70C748C </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C748C 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C748E 49 46       MOV             R1, R9</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7490 90 47       BLX             R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7492 00 20       MOVS            R0, #0</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7494 01 E0       B               loc_C70C749A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7496</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7496             loc_C70C7496</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C7496 4F F0 FF 30 MOV.W           R0, #0xFFFFFFFF</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C749A</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C749A             loc_C70C749A </span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C749A 37 49       LDR             R1, =(__stack_chk_guard_ptr - 0xC70C74A2)</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C749C 2C 9A       LDR             R2, [SP,#0xD0+var_20]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C749E 79 44       ADD             R1, PC                  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C74A0 09 68       LDR             R1, [R1]                ; __stack_chk_guard</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C74A2 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C74A4 89 1A       SUBS            R1, R1, R2</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C74A6 02 BF       ITTT EQ</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C74A8 2D B0       ADDEQ           SP, SP, #0xB4</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C74AA BD E8 00 0F POPEQ.W         {R8-R11}</span></span></code><code><span class="code-snippet_outer"><span style="font-size: 15px;">.text:C70C74AE F0 BD       POPEQ           {R4-R7,PC}</span></span></code></pre></section><p style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 15px;">存储服务器返回的设备指纹：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0             t4_save_TT_COOKIEID_sd_data_sub_CDB195E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0             var_34          = -0x34</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0             var_30          = -0x30</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0             var_20          = -0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0             var_1C          = -0x1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0             ; __unwind {</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E0 F0 B5                       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E2 03 AF                       ADD             R7, SP, #0xC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E4 2D E9 00 07                 PUSH.W          {R8-R10}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65E8 88 B0                       SUB             SP, SP, #0x20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65EA 81 46                       MOV             R9, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65EC 27 48                       LDR             R0, =(__stack_chk_guard_ptr - 0xC70C65F2)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65EE 78 44                       ADD             R0, PC  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65F0 00 68                       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65F2 00 68                       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65F4 07 90                       STR             R0, [SP,#0x38+var_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65F6 E4 F7 D3 FD                 BL              Dec_RiskString_sub_CEE741A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65FA 26 49                       LDR             R1, =(unk_C718AC60 - 0xC70C6604)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65FC 02 AA                       ADD             R2, SP, #0x38+var_30</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C65FE 24 48                       LDR             R0, =(off_C719D8E0 - 0xC70C660A)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6600 79 44                       ADD             R1, PC  ; unk_C718AC60</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6602 D9 E9 00 8A                 LDRD.W          R8, R10, [R9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6606 78 44                       ADD             R0, PC  ; off_C719D8E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6608 13 46                       MOV             R3, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C660A 91 E8 70 00                 LDM.W           R1, {R4-R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C660E 00 68                       LDR             R0, [R0] ; dword_C71A0724</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6610 70 C3                       STM             R3!, {R4-R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6612 00 68                       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6614 01 68                       LDR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6616 0B 69                       LDR             R3, [R1,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6618 06 A9                       ADD             R1, SP, #0x38+var_20</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C661A 98 47                       BLX             R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C661C 50 46                       MOV             R0, R10 ; s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C661E E3 F7 2C E8                 BLX             strlen</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6622 1E 28                       CMP             R0, #0x1E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6624 06 D3                       BCC             loc_C70C6634</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6626 1C 4A                       LDR             R2, =(aTtCookieid - 0xC70C6632) ; &#34;&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6628 41 46                       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C662A 06 98                       LDR             R0, [SP,#0x38+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C662C 53 46                       MOV             R3, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C662E 7A 44                       ADD             R2, PC  ; &#34;&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6630 00 F0 6C FC                 BL              getSharedPreferences_put_sub_CF113F0C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6634</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6634             loc_C70C6634 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6634 19 4B                       LDR             R3, =(aE2cbab - 0xC70C6640) ; &#34;&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6636 0A 21                       MOVS            R1, #0xA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6638 06 98                       LDR             R0, [SP,#0x38+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C663A 52 46                       MOV             R2, R10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C663C 7B 44                       ADD             R3, PC  ; &#34;&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C663E 01 91                       STR             R1, [SP,#0x38+var_34]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6640 41 46                       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6642 00 F0 4B F8                 BL              save_sd_data_sub_CDB196DC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6646 BA F1 00 0F                 CMP.W           R10, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C664A 1C BF                       ITT NE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C664C 50 46                       MOVNE           R0, R10 ; ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C664E E3 F7 86 E8                 BLXNE           free</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6652 48 46                       MOV             R0, R9  ; ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6654 E3 F7 82 E8                 BLX             free</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6658 06 98                       LDR             R0, [SP,#0x38+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C665A 01 68                       LDR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C665C 8A 6D                       LDR             R2, [R1,#0x58]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C665E 41 46                       MOV             R1, R8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6660 90 47                       BLX             R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6662 0F 48                       LDR             R0, =(off_C719D8E0 - 0xC70C6668)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6664 78 44                       ADD             R0, PC  ; off_C719D8E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6666 00 68                       LDR             R0, [R0] ; dword_C71A0724</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6668 00 68                       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C666A 01 68                       LDR             R1, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C666C 49 69                       LDR             R1, [R1,#0x14]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C666E 88 47                       BLX             R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6670 0C 48                       LDR             R0, =(__stack_chk_guard_ptr - 0xC70C6678)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6672 07 99                       LDR             R1, [SP,#0x38+var_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6674 78 44                       ADD             R0, PC  ; __stack_chk_guard_ptr</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6676 00 68                       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6678 00 68                       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C667A 40 1A                       SUBS            R0, R0, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C667C 01 BF                       ITTTT EQ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C667E 00 20                       MOVEQ           R0, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6680 08 B0                       ADDEQ           SP, SP, #0x20 ; &#39; &#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6682 BD E8 00 07                 POPEQ.W         {R8-R10}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C70C6686 F0 BD                       POPEQ           {R4-R7,PC}</span></span></code></pre></section><h3 data-source-line="3101" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 15px;color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);font-size: 15px;font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;letter-spacing: 0.544px;text-align: start;background-color: rgb(255, 255, 255);"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;letter-spacing: 0.544px;text-align: start;background-color: rgb(255, 255, 255);">样本获取方式，关注公众号，公众号输入框回复“att” 获取下载链接。</span></span></span></h3><h3 data-source-line="3101" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 15px;color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);font-size: 15px;font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;letter-spacing: 0.544px;text-align: start;background-color: rgb(255, 255, 255);">作者简介：</span><br data-filtered="filtered" style="outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;letter-spacing: 0.544px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;"/><span style="color: rgb(0, 0, 0);font-size: 15px;font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;letter-spacing: 0.544px;text-align: start;background-color: rgb(255, 255, 255);">我是小三，目前从事软件安全相关工作，虽己工作多年，但内心依然有着执着的追求，信奉终身成长，不定义自己，热爱技术但不拘泥于技术，爱好分享，喜欢读书和乐于结交朋友，欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)</span></span></h3>



<p><a href="2247484042">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=2d68b0e3&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247484042%26idx%3D1%26sn%3Dd903c02008f1515b03b7f5f8d33ccaf0%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 23 Dec 2021 20:10:00 +0800</pubDate>
    </item>
    <item>
      <title>ppp买菜IOS版设备风控浅析与算法还原</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247484027&amp;idx=1&amp;sn=a99995e9ffc7d6557d2bf6d0a1c7419e</link>
      <description>还记得在2020年的下半年时候，当时生鲜电商的社区团购大战非常火爆，各种买菜APP蜂拥而入，砸钱、抢流量，你争我抢玩得不亦乐乎。&#xA;不夸张地说，我记得当时最常见的情形是，你随便在小区溜达一圈，就能碰见穿着各种颜色制服的地推工作人员</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-11-04 03:30</span> <span style="display: inline-block;"></span>
</p>

<p>还记得在2020年的下半年时候，当时生鲜电商的社区团购大战非常火爆，各种买菜APP蜂拥而入，砸钱、抢流量，你争我抢玩得不亦乐乎。</p>
<p>不夸张地说，我记得当时最常见的情形是，你随便在小区溜达一圈，就能碰见穿着各种颜色制服的地推工作人员</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=164ae373&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhD0cHLX7W0VWYZ9UMjHn9znJtYbfHvicHu5fD2KDFvphqC3hzbhoqBMw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">本文仅限学习交流，请勿用于非法以及商业用途，由于时间和水平有限，文中错漏之处在所难免，敬请各位大佬多多批评指正。</span></p><pre data-source-line="3" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="box-sizing: border-box;color: rgb(153, 0, 0);font-weight: bold;">目录:</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">一、线上买菜场景简述</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">二、风控在业务中的应用</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">三、产品整体框架</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">四、初始化分析</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">五、反爬签名流程</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">六、设备指纹分析</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">七、算法还原</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">八、总结</span></code></pre><h3 data-source-line="14" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">一、线上买菜场景简述</span></h3><h4 data-source-line="15" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">1、分析说明</span></h4><pre data-source-line="16" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">1.</span> <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">产品基本信息</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">产品名称：</span>ppp<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">买菜</span>(<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">匿称</span>)<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">；</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">产品版本：</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">5.25.0</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">；</span><br/>Slogan<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">：</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">分钟送达，新鲜送得快；</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">所处行业：生鲜电商</span>;<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">2.</span> <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">设备环境</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">机型：</span>iPhone <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">；</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">系统：</span>IOS <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13.4</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">；</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">工具</span>: IDA7<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.6</span> Frida;</code></pre><h4 data-source-line="28" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">2、简单流程梳理</span></h4><p data-source-line="29" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">一次完整的线上买菜过程都经过了哪些环节呢？大致流程是从供应商送货到仓或到店，再由零售商售卖，最终到用户手里，这样便完成了一次买菜，如图1-1所示：<br style="box-sizing: border-box;"/></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-fileid="100000366" data-ratio="0.82890625" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=6a888f30&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhXeEmIMsUfCwa1gviaZiaLMEN9vicRbLvSwTFWvpibFhcYgXfnwexJHPnXg%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图1-1<br/></p><p data-source-line="29" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">上图的业务流程从供应商送货到仓或到店，再由零售商售卖，最终可以多种方式到用户手里，完成了一次买菜的过程。<br style="box-sizing: border-box;"/></p><h3 data-source-line="33" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">二、反作弊风控在业务中的应用</span></h3><h4 data-source-line="34" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">1、APP推广拉新</span></h4><p data-source-line="35" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">还记得在2020年的下半年时候，当时生鲜电商的社区团购大战非常火爆，各种买菜APP蜂拥而入，砸钱、抢流量，你争我抢玩得不亦乐乎。<br style="box-sizing: border-box;"/>不夸张地说，我记得当时最常见的情形是，你随便在小区溜达一圈，就能碰见穿着各种颜色制服的地推工作人员，追赶着小哥哥小姐姐下载APP给送福利，下载完APP后注册登录APP买菜。<br style="box-sizing: border-box;"/></p><h4 data-source-line="37" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">2、存在的风险</span></h4><p data-source-line="38" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">烧大把的钱把流量吸引过来，这个过程中会有黑灰产人员通过非法的技术手段，伪造新增用户并从中获利的行为，如果只是把流量吸引过来不考虑质量的话，会增加大量的企业无效成本。怎么识别出有效的流量与虚假流量，需要一个完善的风控体系与制定有效的策略找出高质量流量，然后把这些流量留下来。<br style="box-sizing: border-box;"/>接下来为了提高用户的购买频率，实现反复转化，就出现了各种红包、优惠券活动吸引用户提高打开APP频率与购买频率。这个环节中就会有各种薅羊毛的人群出现，同样需要完善的风控体系与制定有效的策略来最大程度地甄别风险。<br style="box-sizing: border-box;"/>活动流程大致如图2-1所示:</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-fileid="100000367" data-ratio="0.59453125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=c6bc0b93&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhrnNAWJcgYsP84AJvRaC1A3YeSDHNhg2sbBicw171SmI9edZdR7FBV2g%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图2-1<br/></p><h3 data-source-line="43" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">三、产品整体框架</span></h3><h4 data-source-line="44" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">3.1、从初化到获取设备指纹整个框架如图3-1与3-2所示：</span></h4><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-fileid="100000368" data-ratio="2.36875" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=7b0ef6bd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhN7VY4sBu6h4nyGoaicdbLkQe76xiaJibCGEmrGPwMeWdYvq3Mr86Jib8aA%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图3-1<br/></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-fileid="100000369" data-ratio="2.31875" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=c96f43cd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhUCYrWWIg3ptDOma093ibkYSiaZ4jceQhQWmaB2ojdbXnR7Tckbm2Bh2w%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图3-2<br/></p><p data-source-line="45" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">下面将围绕框架进行详细分析与算法还原。<br style="box-sizing: border-box;"/></p><h3 data-source-line="50" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">四、初始化分析</span></h3><h4 data-source-line="51" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">4.1、代码混淆</span></h4><p data-source-line="52" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">在正式进行代码分析之前还是很必要交代一下我分析过程中发现的代码混淆，方便后继分析代码做准备。</p><h6 data-source-line="53" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">反F5：大致模板如下：</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:0000000103743850 FF C3 00 D1 SUB             SP, SP, #0x30 ; &#39;0&#39;</span></code><code><span class="code-snippet_outer">__text:0000000103743854 E0 7B 01 A9 STP             X0, X30, [SP,#0x10]</span></code><code><span class="code-snippet_outer">__text:0000000103743858 05 00 00 94 BL              sub_10374386C ; 跳到方法返回值</span></code><code><span class="code-snippet_outer">__text:000000010374385C 86 A5 23 4F SSHLL2          V6.2D, V12.4S, #3</span></code><code><span class="code-snippet_outer">__text:0000000103743860 B1 FB A7 9B UMSUBL          X17, W29, W7, X30</span></code><code><span class="code-snippet_outer">__text:0000000103743864 D2 76 2F F9 STR             X18, [X22,#0x5EE8]</span></code><code><span class="code-snippet_outer">__text:0000000103743868 7F 16 04 FA DCB 0x7F, 0x16, 4, 0xFA ; 混淆数据</span></code><code><span class="code-snippet_outer">__text:000000010374386C</span></code><code><span class="code-snippet_outer">__text:000000010374386C          </span></code><code><span class="code-snippet_outer">__text:000000010374386C</span></code><code><span class="code-snippet_outer">__text:000000010374386C            </span></code><code><span class="code-snippet_outer">__text:000000010374386C</span></code><code><span class="code-snippet_outer">__text:000000010374386C             sub_10374386C   ; </span></code><code><span class="code-snippet_outer">__text:000000010374386C 80 01 00 10 ADR              X0, dword_10374389C ;方法返回值</span></code><code><span class="code-snippet_outer">__text:0000000103743870 FE 03 00 AA MOV             X30, X0 ; 方法返回值给返回寄存器</span></code><code><span class="code-snippet_outer">__text:0000000103743874 FF C3 00 91 ADD             SP, SP, #0x30 ; &#39;0&#39;</span></code><code><span class="code-snippet_outer">__text:0000000103743878 C0 03 5F D6 RET</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">原理是通过动态赋值给x30实现跳转，X30链接寄存器(LR)，用于保存子程序的返回地址。通篇都是这样的代码混淆方式，基本不怎么影响分析或脚本直接清除。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">动态调试时如图4-1所示： </span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-fileid="100000370" data-ratio="0.6239855725879171" data-s="300,640" style="" data-type="jpeg" data-w="1109" src="https://wechat2rss.xlab.app/img-proxy/?k=acf45699&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhWeMp6Oa6zIokZQ79KqzT7pdhKY0hstNkpiaEBMMQ1GaEuW0z78SZNiag%2F640%3Fwx_fmt%3Djpeg"/></p><p>                            图4-1<br/></p><p><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-weight: 600;text-align: start;">字符串加解密:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:000000010180C0C0             DecStrng_sub_1036F80C0</span></code><code><span class="code-snippet_outer">__text:000000010180C0C0</span></code><code><span class="code-snippet_outer">__text:000000010180C0C0 7F 04 00 71                 CMP             W3, #1</span></code><code><span class="code-snippet_outer">__text:000000010180C0C4 0B 06 00 54                 B.LT            locret_10180C184</span></code><code><span class="code-snippet_outer">__text:000000010180C0C8 E9 03 03 2A                 MOV             W9, W3</span></code><code><span class="code-snippet_outer">__text:000000010180C0CC 7F 40 00 71                 CMP             W3, #0x10</span></code><code><span class="code-snippet_outer">__text:000000010180C0D0 43 04 00 54                 B.CC            loc_10180C158</span></code><code><span class="code-snippet_outer">__text:000000010180C0D4 08 00 09 8B                 ADD             X8, X0, X9</span></code><code><span class="code-snippet_outer">__text:000000010180C0D8 2A 00 09 8B                 ADD             X10, X1, X9</span></code><code><span class="code-snippet_outer">__text:000000010180C0DC 5F 01 00 EB                 CMP             X10, X0</span></code><code><span class="code-snippet_outer">__text:000000010180C0E0 00 81 41 FA                 CCMP            X8, X1, #0, HI</span></code><code><span class="code-snippet_outer">__text:000000010180C0E4 A8 03 00 54                 B.HI            loc_10180C158</span></code><code><span class="code-snippet_outer">__text:000000010180C0E8 2A 6D 7C 92                 AND             X10, X9, #0xFFFFFFF0</span></code><code><span class="code-snippet_outer">__text:000000010180C0EC 68 04 03 0B                 ADD             W8, W3, W3,LSL#1</span></code><code><span class="code-snippet_outer">__text:000000010180C0F0 08 01 02 0B                 ADD             W8, W8, W2</span></code><code><span class="code-snippet_outer">__text:000000010180C0F4 6B 0C 00 12                 AND             W11, W3, #0xF</span></code><code><span class="code-snippet_outer">__text:000000010180C0F8 6B 09 0B 4B                 SUB             W11, W11, W11,LSL#2</span></code><code><span class="code-snippet_outer">__text:000000010180C0FC 08 01 0B 0B                 ADD             W8, W8, W11</span></code><code><span class="code-snippet_outer">__text:000000010180C100 40 0C 01 0E                 DUP             V0.8B, W2</span></code><code><span class="code-snippet_outer">__text:000000010180C104 8B 8C 00 D0                 ADRP            X11, #qword_10299E470@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010180C108 61 39 42 FD                 LDR             D1, [X11,#qword_10299E470@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010180C10C 00 84 21 0E                 ADD             V0.8B, V0.8B, V1.8B</span></code><code><span class="code-snippet_outer">__text:000000010180C110 2B 20 00 91                 ADD             X11, X1, #8</span></code><code><span class="code-snippet_outer">__text:000000010180C114 0C 20 00 91                 ADD             X12, X0, #8</span></code><code><span class="code-snippet_outer">__text:000000010180C118 01 E7 00 0F                 MOVI            V1.8B, #0x18</span></code><code><span class="code-snippet_outer">__text:000000010180C11C 02 E6 01 0F                 MOVI            V2.8B, #0x30 ; &#39;0&#39;</span></code><code><span class="code-snippet_outer">__text:000000010180C120 ED 03 0A AA                 MOV             X13, X10</span></code><code><span class="code-snippet_outer">__text:000000010180C124</span></code><code><span class="code-snippet_outer">__text:000000010180C124             loc_10180C124 </span></code><code><span class="code-snippet_outer">__text:000000010180C124 03 84 21 0E                 ADD             V3.8B, V0.8B, V1.8B</span></code><code><span class="code-snippet_outer">__text:000000010180C128 64 95 7F 6D                 LDP             D4, D5, [X11,#-8]</span></code><code><span class="code-snippet_outer">__text:000000010180C12C 84 1C 20 2E                 EOR             V4.8B, V4.8B, V0.8B</span></code><code><span class="code-snippet_outer">__text:000000010180C130 A3 1C 23 2E                 EOR             V3.8B, V5.8B, V3.8B</span></code><code><span class="code-snippet_outer">__text:000000010180C134 84 8D 3F 6D                 STP             D4, D3, [X12,#-8]</span></code><code><span class="code-snippet_outer">__text:000000010180C138 00 84 22 0E                 ADD             V0.8B, V0.8B, V2.8B</span></code><code><span class="code-snippet_outer">__text:000000010180C13C 6B 41 00 91                 ADD             X11, X11, #0x10</span></code><code><span class="code-snippet_outer">__text:000000010180C140 8C 41 00 91                 ADD             X12, X12, #0x10</span></code><code><span class="code-snippet_outer">__text:000000010180C144 AD 41 00 F1                 SUBS            X13, X13, #0x10</span></code><code><span class="code-snippet_outer">__text:000000010180C148 E1 FE FF 54                 B.NE            loc_10180C124</span></code><code><span class="code-snippet_outer">__text:000000010180C14C 5F 01 09 EB                 CMP             X10, X9</span></code><code><span class="code-snippet_outer">__text:000000010180C150 81 00 00 54                 B.NE            loc_10180C160</span></code><code><span class="code-snippet_outer">__text:000000010180C154 0C 00 00 14                 B               locret_10180C184</span></code><code><span class="code-snippet_outer">__text:000000010180C158</span></code><code><span class="code-snippet_outer">__text:000000010180C158</span></code><code><span class="code-snippet_outer">__text:000000010180C158             loc_10180C158</span></code><code><span class="code-snippet_outer">__text:000000010180C158</span></code><code><span class="code-snippet_outer">__text:000000010180C158 0A 00 80 D2                 MOV             X10, #0</span></code><code><span class="code-snippet_outer">__text:000000010180C15C E8 03 02 AA                 MOV             X8, X2</span></code><code><span class="code-snippet_outer">__text:000000010180C160</span></code><code><span class="code-snippet_outer">__text:000000010180C160             loc_10180C160</span></code><code><span class="code-snippet_outer">__text:000000010180C160 2B 00 0A 8B                 ADD             X11, X1, X10</span></code><code><span class="code-snippet_outer">__text:000000010180C164 0C 00 0A 8B                 ADD             X12, X0, X10</span></code><code><span class="code-snippet_outer">__text:000000010180C168 29 01 0A CB                 SUB             X9, X9, X10</span></code><code><span class="code-snippet_outer">__text:000000010180C16C</span></code><code><span class="code-snippet_outer">__text:000000010180C16C             loc_10180C16C</span></code><code><span class="code-snippet_outer">__text:000000010180C16C 6A 15 40 38                 LDRB            W10, [X11],#1</span></code><code><span class="code-snippet_outer">__text:000000010180C170 4A 01 08 4A                 EOR             W10, W10, W8</span></code><code><span class="code-snippet_outer">__text:000000010180C174 8A 15 00 38                 STRB            W10, [X12],#1</span></code><code><span class="code-snippet_outer">__text:000000010180C178 08 0D 00 11                 ADD             W8, W8, #3</span></code><code><span class="code-snippet_outer">__text:000000010180C17C 29 05 00 F1                 SUBS            X9, X9, #1</span></code><code><span class="code-snippet_outer">__text:000000010180C180 61 FF FF 54                 B.NE            loc_10180C16C</span></code><code><span class="code-snippet_outer">__text:000000010180C184</span></code><code><span class="code-snippet_outer">__text:000000010180C184             locret_10180C184</span></code><code><span class="code-snippet_outer">__text:000000010180C184</span></code><code><span class="code-snippet_outer">__text:000000010180C184 C0 03 5F D6                 RET</span></code></pre></section><p data-source-line="145" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">通用的解密字符串，同样可以用脚本跑一遍就可以解密出来。<br style="box-sizing: border-box;"/></p><h6 data-source-line="146" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">采集设备信息跳转：</h6><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">__text:0000000101864F1C </span></code><code><span class="code-snippet_outer">__text:0000000101864F1C E0 7B 7B A9                 LDP             X0, X30, [SP,#-0x50] ; 获取m设备信息跳转</span></code><code><span class="code-snippet_outer">__text:0000000101864F20 09 2D 00 10                 ADR             X9, unk_1018654C0</span></code><code><span class="code-snippet_outer">__text:0000000101864F24 1F 20 03 D5                 NOP</span></code><code><span class="code-snippet_outer">__text:0000000101864F28 28 79 A8 B8                 LDRSW           X8, [X9,X8,LSL#2]</span></code><code><span class="code-snippet_outer">__text:0000000101864F2C 08 01 09 8B                 ADD             X8, X8, X9</span></code><code><span class="code-snippet_outer">__text:0000000101864F30 E0 7B 3B A9                 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101864F34 00 01 1F D6                 BR              X8      ; 获取m设备信息跳转对应的方法</span></code></pre></section><p data-source-line="157" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">只要在上面地方下好断点就能分析对应的采集设备信息的方法。<br style="box-sizing: border-box;"/></p><h4 data-source-line="158" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">4.2、解密资源文件获取PIC</span></h4><h6 data-source-line="159" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">生成密钥:</h6><p data-source-line="160" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">获取APP Bundle ID:</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">com.baobaoaichi.imaicai</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解析Info.plist读取&lt;key&gt;ss&lt;/key&gt;中的值:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">885B25AAFD830249B81AF699187E5752</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密常量字符串:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">WU@TEN</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">组合字符串，BundleID+常量字符串(WU@TEN)+Info.plist中的&lt;key&gt;ss&lt;/key&gt;值:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">com.baobaoaichi.imaicaiWU@TEN885B25AAFD830249B81AF699187E5752</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算组合后字符的hmac值:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:0000000101B834F8             hamc_256_loc_1052974F8 </span></code><code><span class="code-snippet_outer">__text:0000000101B834F8 FF 43 01 D1 SUB             SP, SP, #0x50 ; &#39;P&#39;</span></code><code><span class="code-snippet_outer">__text:0000000101B834FC E0 7B 02 A9 STP             X0, X30, [SP,#0x20]</span></code><code><span class="code-snippet_outer">__text:0000000101B83500 08 00 00 94 BL              sub_101B83520</span></code><code><span class="code-snippet_outer">__text:0000000101B83504 D9 92 B2 98 LDRSW           X25, loc_101AE875C</span></code><code><span class="code-snippet_outer">__text:0000000101B83508 B2 19 08 BD STR             S18, [X13,#0x818]</span></code><code><span class="code-snippet_outer">__text:0000000101B8350C 1B 50 F0 B7 TBNZ            X27, #0x3E, loc_101B83F0C ; &#39;&gt;&#39;</span></code><code><span class="code-snippet_outer">__text:0000000101B8350C  </span></code><code><span class="code-snippet_outer">__text:0000000101B83510 81 05 6D 1B+DCQ 0x440C4BA91B6D0581, 0x75CE544974E8B95A</span></code><code><span class="code-snippet_outer">__text:0000000101B83520</span></code><code><span class="code-snippet_outer">__text:0000000101B83520 </span></code><code><span class="code-snippet_outer">__text:0000000101B83520</span></code><code><span class="code-snippet_outer">__text:0000000101B83520</span></code><code><span class="code-snippet_outer">__text:0000000101B83520             sub_101B83520 </span></code><code><span class="code-snippet_outer">__text:0000000101B83520 40 02 00 10 ADR             X0, loc_101B83568</span></code><code><span class="code-snippet_outer">__text:0000000101B83524 FE 03 00 AA MOV             X30, X0</span></code><code><span class="code-snippet_outer">__text:0000000101B83528 FF 43 01 91 ADD             SP, SP, #0x50 ; &#39;P&#39;</span></code><code><span class="code-snippet_outer">__text:0000000101B8352C C0 03 5F D6 RET</span></code><code><span class="code-snippet_outer">__text:0000000101B8352C             ; End of function sub_101B83520</span></code><code><span class="code-snippet_outer">__text:0000000101B8352C</span></code><code><span class="code-snippet_outer">__text:0000000101B8352C </span></code><code><span class="code-snippet_outer">__text:0000000101B83530 BA C7 78 F8+DCQ 0x5AC568B8F878C7BA, 0x9A5A15BB2AA24258, 0x748421186E938E6D, 0x53C1BE1404BC0FB9</span></code><code><span class="code-snippet_outer">__text:0000000101B83530 B8 68 C5 5A+DCQ 0x3C6162795B16F2AB, 0x3F6EEF1BA5E72F0, 0xBF4042773B6E82C5</span></code><code><span class="code-snippet_outer">__text:0000000101B83568   </span></code><code><span class="code-snippet_outer">__text:0000000101B83568</span></code><code><span class="code-snippet_outer">__text:0000000101B83568             loc_101B83568                           ; DATA XREF: sub_101B83520↑o</span></code><code><span class="code-snippet_outer">__text:0000000101B83568 E0 7B 7D A9 LDP             X0, X30, [SP,#-0x30]</span></code><code><span class="code-snippet_outer">__text:0000000101B8356C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B83570 20 00 80 D2 MOV             X0, #1</span></code><code><span class="code-snippet_outer">__text:0000000101B83574 04 00 00 14 B               loc_101B83584</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">__text:0000000101B835B0 E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B835B4 FF 43 01 D1 SUB             SP, SP, #0x50 ; &#39;P&#39;</span></code><code><span class="code-snippet_outer">__text:0000000101B835B8 F4 4F 03 A9 STP             X20, X19, [SP,#0x30]</span></code><code><span class="code-snippet_outer">__text:0000000101B835BC FD 7B 04 A9 STP             X29, X30, [SP,#0x40]</span></code><code><span class="code-snippet_outer">__text:0000000101B835C0 FD 03 01 91 ADD             X29, SP, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">__text:0000000101B835C4 F3 03 08 AA MOV             X19, X8</span></code><code><span class="code-snippet_outer">__text:0000000101B835C8 88 B9 00 90 ADRP            X8, #___stack_chk_guard_ptr@PAGE</span></code><code><span class="code-snippet_outer">__text:0000000101B835CC 08 FD 43 F9 LDR             X8, [X8,#___stack_chk_guard_ptr@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:0000000101B835D0 08 01 40 F9 LDR             X8, [X8]</span></code><code><span class="code-snippet_outer">__text:0000000101B835D4 A8 83 1E F8 STUR            X8, [X29,#-0x18]</span></code><code><span class="code-snippet_outer">__text:0000000101B835D8 00 E4 00 4F MOVI            V0.16B, #0</span></code><code><span class="code-snippet_outer">__text:0000000101B835DC E0 83 81 3C STUR            Q0, [SP,#0x18]</span></code><code><span class="code-snippet_outer">__text:0000000101B835E0 E0 83 80 3C STUR            Q0, [SP,#8]</span></code><code><span class="code-snippet_outer">__text:0000000101B835E4 E2 23 00 91 ADD             X2, SP, #8</span></code><code><span class="code-snippet_outer">__text:0000000101B835E8 B6 EB FF 97 BL              hmac256_loc_1052924C0   ; x0:组合的字符串com.baobaoaichi.imaicaiWU@TEN885B25AAFD830249B81AF699187E5752</span></code><code><span class="code-snippet_outer">__text:0000000101B835E8                                                     ; x1:长度,x2:返回值</span></code><code><span class="code-snippet_outer">__text:0000000101B835EC E0 23 00 91 ADD             X0, SP, #8</span></code><code><span class="code-snippet_outer">__text:0000000101B835F0 E1 03 1B 32 MOV             W1, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">__text:0000000101B835F4 E8 03 13 AA MOV             X8, X19</span></code><code><span class="code-snippet_outer">__text:0000000101B835F8 E3 FD FF 97 BL              Hex2String_loc_105296D84</span></code><code><span class="code-snippet_outer">__text:0000000101B835FC A8 83 5E F8 LDUR            X8, [X29,#-0x18]</span></code><code><span class="code-snippet_outer">__text:0000000101B83600 89 B9 00 90 ADRP            X9, #___stack_chk_guard_ptr@PAGE</span></code><code><span class="code-snippet_outer">__text:0000000101B83604 29 FD 43 F9 LDR             X9, [X9,#___stack_chk_guard_ptr@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:0000000101B83608 29 01 40 F9 LDR             X9, [X9]</span></code><code><span class="code-snippet_outer">__text:0000000101B8360C 3F 01 08 EB CMP             X9, X8</span></code><code><span class="code-snippet_outer">__text:0000000101B83610 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B83614 A1 FC FF 54 B.NE            loc_101B835A8</span></code><code><span class="code-snippet_outer">__text:0000000101B83618 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B8361C 60 00 00 18 LDR             W0, =0</span></code><code><span class="code-snippet_outer">__text:0000000101B83620 D9 FF FF 17 B               loc_101B83584</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算后的值:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">39 D3 B7 71 76 74 09 F5 E7 4F 4B 57 9B 86 8A 5C  01 92 13 18 61 C1 79 1C</span></code><code><span class="code-snippet_outer">83 3B 5C 95 E9 9C 41 2B</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">转换成字符串:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer">39d3b771767409f5e74f4b579b868a5c0192131861c1791c833b5c95e99c412b</span></code></pre></section><p><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-weight: 600;text-align: start;">读取mt_security</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:0000000101B202CC             Read_mt_security_loc_1052342CC</span></code><code><span class="code-snippet_outer">__text:0000000101B202CC E0 FB 3E A9 STP             X0, X30, [SP,#-0x18]</span></code><code><span class="code-snippet_outer">__text:0000000101B202D0 09 00 00 94 BL              sub_101B202F4</span></code><code><span class="code-snippet_outer">__text:0000000101B202D0             </span></code><code><span class="code-snippet_outer">__text:0000000101B202D4 C8 94 EB B2 DCD 0xB2EB94C8</span></code><code><span class="code-snippet_outer">__text:0000000101B202D8 93 66 85 65+DCQ 0xACCCADAF65856693, 0xA99940F0FB589042, 0x4DC4974493C6E96</span></code><code><span class="code-snippet_outer">__text:0000000101B202F0 DF D2 CB 41 DCB 0xDF, 0xD2, 0xCB, 0x41</span></code><code><span class="code-snippet_outer">__text:0000000101B202F4</span></code><code><span class="code-snippet_outer">__text:0000000101B202F4           </span></code><code><span class="code-snippet_outer">__text:0000000101B202F4</span></code><code><span class="code-snippet_outer">__text:0000000101B202F4</span></code><code><span class="code-snippet_outer">__text:0000000101B202F4             sub_101B202F4   const&amp;,std::function&lt;std::string ()(void)&gt;)+4405F4↑p</span></code><code><span class="code-snippet_outer">__text:0000000101B202F4 E0 00 00 10 ADR             X0, loc_101B20310</span></code><code><span class="code-snippet_outer">__text:0000000101B202F8 FE 03 00 AA MOV             X30, X0</span></code><code><span class="code-snippet_outer">__text:0000000101B202FC C0 03 5F D6 RET</span></code><code><span class="code-snippet_outer">__text:0000000101B202FC             ; End of function sub_101B202F4</span></code><code><span class="code-snippet_outer">__text:0000000101B202FC</span></code><code><span class="code-snippet_outer">__text:0000000101B202FC             </span></code><code><span class="code-snippet_outer">__text:0000000101B20300 0F 49 C1 AC+DCQ 0x6E3E564CACC1490F, 0xB1B6C5A72F9066B1</span></code><code><span class="code-snippet_outer">__text:0000000101B20310            </span></code><code><span class="code-snippet_outer">__text:0000000101B20310</span></code><code><span class="code-snippet_outer">__text:0000000101B20310             loc_101B20310                           ; DATA XREF: sub_101B202F4↑o</span></code><code><span class="code-snippet_outer">__text:0000000101B20310 E0 FB 7E A9 LDP             X0, X30, [SP,#-0x18]</span></code><code><span class="code-snippet_outer">__text:0000000101B20314 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B20318 60 00 00 18 LDR             W0, =1</span></code><code><span class="code-snippet_outer">__text:0000000101B2031C 04 00 00 14 B               loc_101B2032C</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">读取后数据(部分):</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">0000000104899800  89 50 4E 47 0D 0A 1A 0A  00 00 00 0D 49 48 44 52  .PNG........IHDR</span></code><code><span class="code-snippet_outer">0000000104899810  00 00 00 3C 00 00 00 3C  08 06 00 00 00 3A FC D9  ...&lt;...&lt;.....:..</span></code><code><span class="code-snippet_outer">0000000104899820  72 00 00 13 43 49 44 41  54 78 DA ED 5B 79 70 55  r...CIDATx..[ypU</span></code><code><span class="code-snippet_outer">0000000104899830  D7 79 BF 4F C2 2C 06 03  36 C6 80 89 D9 C4 EA 64  ...O....6ƀ .....</span></code><code><span class="code-snippet_outer">0000000104899840  92 4E 92 76 62 37 9E 8E  27 4D 9D A4 71 DA 64 5A  .N.vb7..&#39;M..q..Z</span></code><code><span class="code-snippet_outer">0000000104899850  77 D2 F1 34 99 F1 1F 1D  DA C9 64 EC C1 1D D7 F5  w..4............</span></code><code><span class="code-snippet_outer">0000000104899860  C4 71 9A E0 C4 98 C5 08  6D 68 45 2B 02 1B 0B 03  ........mhE+....</span></code><code><span class="code-snippet_outer">0000000104899870  12 BC 27 BD 27 BD A7 A7  7D 47 80 04 08 81 10 12  ..&#39;.&#39;...}G......</span></code><code><span class="code-snippet_outer">0000000104899880  08 10 A0 05 84 96 F7 EB  EF 9C BB 9D FB 24 81 BC  .............$..</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解析图片:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">__int64 __fastcall sub_1036B61F0(</span></code><code><span class="code-snippet_outer">        _QWORD *a1,</span></code><code><span class="code-snippet_outer">        unsigned int *a2,</span></code><code><span class="code-snippet_outer">        unsigned int *a3,</span></code><code><span class="code-snippet_outer">        _DWORD *a4,</span></code><code><span class="code-snippet_outer">        unsigned __int64 a5,</span></code><code><span class="code-snippet_outer">        unsigned __int64 a6)</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  v8 = a4;</span></code><code><span class="code-snippet_outer">  v144 = 0x7BB1713F51A90031LL;</span></code><code><span class="code-snippet_outer">  *a1 = 0LL;</span></code><code><span class="code-snippet_outer">  *a3 = 0;</span></code><code><span class="code-snippet_outer">  *a2 = 0;</span></code><code><span class="code-snippet_outer">  result = sub_1036B52D8(a2, a3, a4, a5, a6);</span></code><code><span class="code-snippet_outer">  v8[126] = result;</span></code><code><span class="code-snippet_outer">  if ( (_DWORD)result )</span></code><code><span class="code-snippet_outer">    return result;</span></code><code><span class="code-snippet_outer">  v13 = *a2;</span></code><code><span class="code-snippet_outer">  v14 = *a3;</span></code><code><span class="code-snippet_outer">  v15 = (int)v8[52];</span></code><code><span class="code-snippet_outer">  v127 = v8 + 52;</span></code><code><span class="code-snippet_outer">  v16 = v8[53];</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)v15 &gt; 6 )</span></code><code><span class="code-snippet_outer">    v17 = 0;</span></code><code><span class="code-snippet_outer">  else</span></code><code><span class="code-snippet_outer">    v17 = dword_104824040[v15];</span></code><code><span class="code-snippet_outer">  v18 = v17 * v16;</span></code><code><span class="code-snippet_outer">  v19 = v8[39];</span></code><code><span class="code-snippet_outer">  v20 = (int)v8[38];</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)v20 &gt; 6 )</span></code><code><span class="code-snippet_outer">    v21 = 0;</span></code><code><span class="code-snippet_outer">  else</span></code><code><span class="code-snippet_outer">    v21 = dword_104824040[v20];</span></code><code><span class="code-snippet_outer">  if ( v18 &lt;= v21 * v19 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)v20 &gt; 6 )</span></code><code><span class="code-snippet_outer">      v23 = 0;</span></code><code><span class="code-snippet_outer">    else</span></code><code><span class="code-snippet_outer">      v23 = dword_104824040[v20];</span></code><code><span class="code-snippet_outer">    v24 = v23 * v19;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  else</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)v15 &gt; 6 )</span></code><code><span class="code-snippet_outer">      v22 = 0;</span></code><code><span class="code-snippet_outer">    else</span></code><code><span class="code-snippet_outer">      v22 = dword_104824040[v15];</span></code><code><span class="code-snippet_outer">    v24 = v22 * v16;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v25 = v8 + 126;</span></code><code><span class="code-snippet_outer">  if ( (_DWORD)v13 &amp;&amp; v14 * v13 &amp;&amp; 8 * v14 * v13 / (unsigned __int64)(v14 * v13) != 8</span></code><code><span class="code-snippet_outer">    || (v26 = v24 * (unsigned __int64)((unsigned int)v13 &gt;&gt; 3) + ((v24 * (unsigned __int64)(v13 &amp; 7) + 7) &gt;&gt; 3) + 5,</span></code><code><span class="code-snippet_outer">        v26 * v14 / v26 != v14) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    result = 92LL;</span></code><code><span class="code-snippet_outer">    goto LABEL_97;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v124 = a3;</span></code><code><span class="code-snippet_outer">  v125 = a2;</span></code><code><span class="code-snippet_outer">  v27 = 0LL;</span></code><code><span class="code-snippet_outer">  v28 = 0LL;</span></code><code><span class="code-snippet_outer">  v128 = 0LL;</span></code><code><span class="code-snippet_outer">  v130 = v8 + 126;</span></code><code><span class="code-snippet_outer">  v120 = v8 + 48;</span></code><code><span class="code-snippet_outer">  v29 = a5 + 33;</span></code><code><span class="code-snippet_outer">  v121 = v8 + 2;</span></code><code><span class="code-snippet_outer">  v122 = a1;</span></code><code><span class="code-snippet_outer">  v126 = 1;</span></code><code><span class="code-snippet_outer">  v123 = v8;</span></code><code><span class="code-snippet_outer">  while ( 1 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( v29 &lt; a5 || (v30 = v29 - a5 + 12, v30 &gt; a6) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v8[12] )</span></code><code><span class="code-snippet_outer">        goto LABEL_107;</span></code><code><span class="code-snippet_outer">      v46 = 30;</span></code><code><span class="code-snippet_outer">      goto LABEL_104;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v31 = bswap32(*(_DWORD *)v29);</span></code><code><span class="code-snippet_outer">    if ( (v31 &amp; 0x80000000) != 0 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v8[12] )</span></code><code><span class="code-snippet_outer">        goto LABEL_107;</span></code><code><span class="code-snippet_outer">      v46 = 63;</span></code><code><span class="code-snippet_outer">      goto LABEL_104;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v32 = v31;</span></code><code><span class="code-snippet_outer">    if ( v30 + v31 &gt; a6 || v29 + v31 + 12 &lt; a5 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v46 = 64;</span></code><code><span class="code-snippet_outer">LABEL_104:</span></code><code><span class="code-snippet_outer">      *v25 = v46;</span></code><code><span class="code-snippet_outer">      goto LABEL_107;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v34 = (char *)(v29 + 8);</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)sub_1036B3A50(v29, &#34;IDAT&#34;) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v35 = v27 + v31;</span></code><code><span class="code-snippet_outer">      if ( !__CFADD__(v27, v31) )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v36 = v128;</span></code><code><span class="code-snippet_outer">        if ( v128 &lt; v35 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          if ( 2 * v128 &gt;= v35 )</span></code><code><span class="code-snippet_outer">            v37 = (3 * v35) &gt;&gt; 1;</span></code><code><span class="code-snippet_outer">          else</span></code><code><span class="code-snippet_outer">            v37 = v27 + v31;</span></code><code><span class="code-snippet_outer">          v38 = v37;</span></code><code><span class="code-snippet_outer">          v39 = realloc(v28, v37);</span></code><code><span class="code-snippet_outer">          if ( !v39 )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v98 = 83;</span></code><code><span class="code-snippet_outer">            goto LABEL_171;</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          v28 = v39;</span></code><code><span class="code-snippet_outer">          v36 = v38;</span></code><code><span class="code-snippet_outer">          v8 = v123;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        v128 = v36;</span></code><code><span class="code-snippet_outer">        if ( v31 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          do</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v40 = *v34++;</span></code><code><span class="code-snippet_outer">            *((_BYTE *)v28 + v27++) = v40;</span></code><code><span class="code-snippet_outer">            --v32;</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          while ( v32 );</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        else</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          LODWORD(v32) = 0;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        v126 = 3;</span></code><code><span class="code-snippet_outer">        goto LABEL_46;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v46 = 95;</span></code><code><span class="code-snippet_outer">      goto LABEL_103;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)sub_1036B3A50(v29, &#34;IEND&#34;) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      LODWORD(v32) = 1;</span></code><code><span class="code-snippet_outer">      goto LABEL_43;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !(unsigned int)sub_1036B3A50(v29, &#34;PLTE&#34;) )</span></code><code><span class="code-snippet_outer">      break;</span></code><code><span class="code-snippet_outer">    v42 = sub_1036B55E4(v127, v29 + 8, v31);</span></code><code><span class="code-snippet_outer">    v25 = v130;</span></code><code><span class="code-snippet_outer">    *v130 = v42;</span></code><code><span class="code-snippet_outer">    if ( v42 )</span></code><code><span class="code-snippet_outer">      goto LABEL_107;</span></code><code><span class="code-snippet_outer">    LODWORD(v32) = 0;</span></code><code><span class="code-snippet_outer">    v126 = 2;</span></code><code><span class="code-snippet_outer">LABEL_62:</span></code><code><span class="code-snippet_outer">    v35 = v27;</span></code><code><span class="code-snippet_outer">LABEL_47:</span></code><code><span class="code-snippet_outer">    if ( !v8[10] &amp;&amp; (unsigned int)crc32_sub_1036B3AC8(v29) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      *v25 = 57;</span></code><code><span class="code-snippet_outer">LABEL_106:</span></code><code><span class="code-snippet_outer">      v27 = v35;</span></code><code><span class="code-snippet_outer">      goto LABEL_107;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( (_DWORD)v32 )</span></code><code><span class="code-snippet_outer">      goto LABEL_106;</span></code><code><span class="code-snippet_outer">    v41 = *v25;</span></code><code><span class="code-snippet_outer">    v27 = v35;</span></code><code><span class="code-snippet_outer">LABEL_51:</span></code><code><span class="code-snippet_outer">    v29 = sub_1036B3B20(v29);</span></code><code><span class="code-snippet_outer">    if ( v41 )</span></code><code><span class="code-snippet_outer">      goto LABEL_107;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;tRNS&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v43 = sub_1036B56DC(v127, v29 + 8, v31);</span></code><code><span class="code-snippet_outer">LABEL_60:</span></code><code><span class="code-snippet_outer">    v25 = v130;</span></code><code><span class="code-snippet_outer">    *v130 = v43;</span></code><code><span class="code-snippet_outer">    if ( v43 )</span></code><code><span class="code-snippet_outer">      goto LABEL_107;</span></code><code><span class="code-snippet_outer">    LODWORD(v32) = 0;</span></code><code><span class="code-snippet_outer">    goto LABEL_62;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;bKGD&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v43 = sub_1036B57D0(v120, v29 + 8, v31);</span></code><code><span class="code-snippet_outer">    goto LABEL_60;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;tEXt&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( !v8[14] )</span></code><code><span class="code-snippet_outer">      goto LABEL_72;</span></code><code><span class="code-snippet_outer">    v43 = sub_1036B58DC(v120, v29 + 8, v31);</span></code><code><span class="code-snippet_outer">    goto LABEL_60;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;zTXt&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( !v8[14] )</span></code><code><span class="code-snippet_outer">      goto LABEL_72;</span></code><code><span class="code-snippet_outer">    v43 = sub_1036B5A00(v120, v121, v29 + 8, v31);</span></code><code><span class="code-snippet_outer">    goto LABEL_60;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;iTXt&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( !v8[14] )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">LABEL_72:</span></code><code><span class="code-snippet_outer">      LODWORD(v32) = 0;</span></code><code><span class="code-snippet_outer">      goto LABEL_43;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v43 = sub_1036B5BB8(v120, v121, v29 + 8, v31);</span></code><code><span class="code-snippet_outer">    goto LABEL_60;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;tIME&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( v31 == 7 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      LODWORD(v32) = 0;</span></code><code><span class="code-snippet_outer">      v8[82] = 1;</span></code><code><span class="code-snippet_outer">      v8[83] = *(unsigned __int8 *)(v29 + 9) | (*(unsigned __int8 *)(v29 + 8) &lt;&lt; 8);</span></code><code><span class="code-snippet_outer">      v8[84] = *(unsigned __int8 *)(v29 + 10);</span></code><code><span class="code-snippet_outer">      v8[85] = *(unsigned __int8 *)(v29 + 11);</span></code><code><span class="code-snippet_outer">      v8[86] = *(unsigned __int8 *)(v29 + 12);</span></code><code><span class="code-snippet_outer">      v8[87] = *(unsigned __int8 *)(v29 + 13);</span></code><code><span class="code-snippet_outer">      v8[88] = *(unsigned __int8 *)(v29 + 14);</span></code><code><span class="code-snippet_outer">LABEL_76:</span></code><code><span class="code-snippet_outer">      v8[126] = 0;</span></code><code><span class="code-snippet_outer">LABEL_43:</span></code><code><span class="code-snippet_outer">      v35 = v27;</span></code><code><span class="code-snippet_outer">LABEL_46:</span></code><code><span class="code-snippet_outer">      v25 = v130;</span></code><code><span class="code-snippet_outer">      goto LABEL_47;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v46 = 73;</span></code><code><span class="code-snippet_outer">LABEL_103:</span></code><code><span class="code-snippet_outer">    v25 = v130;</span></code><code><span class="code-snippet_outer">    goto LABEL_104;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;pHYs&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v44 = sub_1036B5F60(v120, v29 + 8, v31);</span></code><code><span class="code-snippet_outer">LABEL_79:</span></code><code><span class="code-snippet_outer">    *v130 = v44;</span></code><code><span class="code-snippet_outer">    if ( v44 )</span></code><code><span class="code-snippet_outer">      goto LABEL_205;</span></code><code><span class="code-snippet_outer">    LODWORD(v32) = 0;</span></code><code><span class="code-snippet_outer">    v35 = v27;</span></code><code><span class="code-snippet_outer">    v25 = v130;</span></code><code><span class="code-snippet_outer">    v8 = v123;</span></code><code><span class="code-snippet_outer">    goto LABEL_47;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;gAMA&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( v31 != 4 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v98 = 96;</span></code><code><span class="code-snippet_outer">      goto LABEL_171;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    LODWORD(v32) = 0;</span></code><code><span class="code-snippet_outer">    v8 = v123;</span></code><code><span class="code-snippet_outer">    v123[93] = 1;</span></code><code><span class="code-snippet_outer">    v123[94] = bswap32(*(_DWORD *)(v29 + 8));</span></code><code><span class="code-snippet_outer">    goto LABEL_76;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;cHRM&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v44 = sub_1036B5FA4(v120, v29 + 8, v31);</span></code><code><span class="code-snippet_outer">    goto LABEL_79;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;sRGB&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( v31 != 1 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v98 = 98;</span></code><code><span class="code-snippet_outer">      goto LABEL_171;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    LODWORD(v32) = 0;</span></code><code><span class="code-snippet_outer">    v8 = v123;</span></code><code><span class="code-snippet_outer">    v123[104] = 1;</span></code><code><span class="code-snippet_outer">    v123[105] = (unsigned __int8)*v34;</span></code><code><span class="code-snippet_outer">    goto LABEL_76;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( (unsigned int)sub_1036B3A50(v29, &#34;iCCP&#34;) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v44 = sub_1036B6028(v120, v121, v29 + 8, v31);</span></code><code><span class="code-snippet_outer">    goto LABEL_79;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( v123[11] || (*(_BYTE *)(v29 + 4) &amp; 0x20) != 0 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( v123[15] )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v45 = sub_1036B3BB0(&amp;v123[2 * (v126 - 1) + 114], &amp;v123[2 * (v126 - 1) + 120], v29);</span></code><code><span class="code-snippet_outer">      v123[126] = v45;</span></code><code><span class="code-snippet_outer">      if ( v45 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">LABEL_205:</span></code><code><span class="code-snippet_outer">        v25 = v130;</span></code><code><span class="code-snippet_outer">        goto LABEL_172;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v41 = 0;</span></code><code><span class="code-snippet_outer">    v25 = v130;</span></code><code><span class="code-snippet_outer">    v8 = v123;</span></code><code><span class="code-snippet_outer">    goto LABEL_51;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v98 = 69;</span></code><code><span class="code-snippet_outer">LABEL_171:</span></code><code><span class="code-snippet_outer">  v25 = v130;</span></code><code><span class="code-snippet_outer">  *v130 = v98;</span></code><code><span class="code-snippet_outer">LABEL_172:</span></code><code><span class="code-snippet_outer">  v8 = v123;</span></code><code><span class="code-snippet_outer">LABEL_107:</span></code><code><span class="code-snippet_outer">  v132 = 0LL;</span></code><code><span class="code-snippet_outer">  v133 = 0LL;</span></code><code><span class="code-snippet_outer">  v131 = 0LL;</span></code><code><span class="code-snippet_outer">  v47 = *v125;</span></code><code><span class="code-snippet_outer">  if ( v8[50] )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v48 = *v124;</span></code><code><span class="code-snippet_outer">    v49 = (*v124 + 7) &gt;&gt; 3;</span></code><code><span class="code-snippet_outer">    v50 = v127;</span></code><code><span class="code-snippet_outer">    v51 = sub_1036B79FC((unsigned int)(v47 + 7) &gt;&gt; 3, v49, v127);</span></code><code><span class="code-snippet_outer">    v52 = v47 + 3;</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)v47 &gt;= 5 )</span></code><code><span class="code-snippet_outer">      v51 += sub_1036B79FC(v52 &gt;&gt; 3, v49, v127);</span></code><code><span class="code-snippet_outer">    v53 = sub_1036B79FC(v52 &gt;&gt; 2, (v48 + 3) &gt;&gt; 3, v127) + v51;</span></code><code><span class="code-snippet_outer">    v54 = v47 + 1;</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)v47 &gt;= 3 )</span></code><code><span class="code-snippet_outer">      v53 += sub_1036B79FC(v54 &gt;&gt; 2, (v48 + 3) &gt;&gt; 2, v127);</span></code><code><span class="code-snippet_outer">    v55 = sub_1036B79FC(v54 &gt;&gt; 1, (v48 + 1) &gt;&gt; 2, v127) + v53;</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)v47 &gt;= 2 )</span></code><code><span class="code-snippet_outer">      v55 += sub_1036B79FC((unsigned int)v47 &gt;&gt; 1, (v48 + 1) &gt;&gt; 1, v127);</span></code><code><span class="code-snippet_outer">    v56 = sub_1036B79FC(v47, v48 &gt;&gt; 1, v127) + v55;</span></code><code><span class="code-snippet_outer">    v25 = v130;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  else</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v50 = v127;</span></code><code><span class="code-snippet_outer">    v56 = sub_1036B79FC(*v125, *v124, v127);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  if ( !*v25 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( !v56 )</span></code><code><span class="code-snippet_outer">      goto LABEL_120;</span></code><code><span class="code-snippet_outer">    v57 = realloc(0LL, v56);</span></code><code><span class="code-snippet_outer">    if ( !v57 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v60 = 83;</span></code><code><span class="code-snippet_outer">      goto LABEL_130;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v133 = v56;</span></code><code><span class="code-snippet_outer">    v131 = v57;</span></code><code><span class="code-snippet_outer">    if ( !*v25 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">LABEL_120:</span></code><code><span class="code-snippet_outer">      v58 = (__int64 (__fastcall *)(void **, __int64 *, void *, unsigned __int64, _DWORD *))*((_QWORD *)v8 + 2);</span></code><code><span class="code-snippet_outer">      if ( v58 )</span></code><code><span class="code-snippet_outer">        v59 = v58(&amp;v131, &amp;v132, v28, v27, v121);</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">        v59 = sub_1036B389C(&amp;v131, &amp;v132, v28, v27, v121);</span></code><code><span class="code-snippet_outer">      if ( v132 != v56 &amp;&amp; v59 == 0 )</span></code><code><span class="code-snippet_outer">        v60 = 91;</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">        v60 = v59;</span></code><code><span class="code-snippet_outer">LABEL_130:</span></code><code><span class="code-snippet_outer">      *v25 = v60;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  free(v28);</span></code><code><span class="code-snippet_outer">  v62 = v125;</span></code><code><span class="code-snippet_outer">  if ( !*v25 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v63 = *v125;</span></code><code><span class="code-snippet_outer">    v64 = *v124;</span></code><code><span class="code-snippet_outer">    v66 = v8[52];</span></code><code><span class="code-snippet_outer">    v65 = v8[53];</span></code><code><span class="code-snippet_outer">    v67 = sub_1036B3D08(*v125, *v124, v66, v65);</span></code><code><span class="code-snippet_outer">    v68 = malloc(v67);</span></code><code><span class="code-snippet_outer">    *v122 = v68;</span></code><code><span class="code-snippet_outer">    if ( v68 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v67 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        for ( i = 0LL; i != v67; ++i )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v68[i] = 0;</span></code><code><span class="code-snippet_outer">          v68 = (_BYTE *)*v122;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        v63 = *v125;</span></code><code><span class="code-snippet_outer">        v64 = *v124;</span></code><code><span class="code-snippet_outer">        v66 = v8[52];</span></code><code><span class="code-snippet_outer">        v65 = v8[53];</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v70 = (char *)v131;</span></code><code><span class="code-snippet_outer">      if ( v66 &gt; 6 )</span></code><code><span class="code-snippet_outer">        v71 = 0;</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">        v71 = dword_104824040[v66];</span></code><code><span class="code-snippet_outer">      v73 = (unsigned int)(v71 * v65);</span></code><code><span class="code-snippet_outer">      if ( (_DWORD)v73 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        if ( v8[50] )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v129 = v64;</span></code><code><span class="code-snippet_outer">          sub_1036B7E10(v138, v137, v136, v135, v134, v63, v64, v73);</span></code><code><span class="code-snippet_outer">          for ( j = 0LL; j != 7; ++j )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v75 = &amp;v70[v135[j]];</span></code><code><span class="code-snippet_outer">            v76 = v138[j];</span></code><code><span class="code-snippet_outer">            v77 = (unsigned int)v137[j];</span></code><code><span class="code-snippet_outer">            v72 = sub_1036B7A4C(v75, &amp;v70[v136[j]], v76, v77, v73);</span></code><code><span class="code-snippet_outer">            if ( v72 )</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              v97 = 0;</span></code><code><span class="code-snippet_outer">              goto LABEL_186;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">            if ( (unsigned int)v73 &lt;= 7 )</span></code><code><span class="code-snippet_outer">              sub_1036B7D74(&amp;v70[v134[j]], v75, v76 * (unsigned int)v73, (v76 * (_DWORD)v73 + 7) &amp; 0xFFFFFFF8, v77);</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          sub_1036B7E10(v143, v142, v141, v140, v139, v63, v129, v73);</span></code><code><span class="code-snippet_outer">          if ( (unsigned int)v73 &lt;= 7 )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            for ( k = 0LL; k != 7; ++k )</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              v100 = v142[k];</span></code><code><span class="code-snippet_outer">              if ( v100 )</span></code><code><span class="code-snippet_outer">              {</span></code><code><span class="code-snippet_outer">                v101 = 0;</span></code><code><span class="code-snippet_outer">                v102 = (unsigned int)v143[k];</span></code><code><span class="code-snippet_outer">                do</span></code><code><span class="code-snippet_outer">                {</span></code><code><span class="code-snippet_outer">                  if ( (_DWORD)v102 )</span></code><code><span class="code-snippet_outer">                  {</span></code><code><span class="code-snippet_outer">                    v103 = 0LL;</span></code><code><span class="code-snippet_outer">                    v104 = 8 * v139[k];</span></code><code><span class="code-snippet_outer">                    v105 = dword_104823FA4[k];</span></code><code><span class="code-snippet_outer">                    v106 = dword_104823FC0[k] + (dword_104823FF8[k] + dword_104823FDC[k] * v101) * v63;</span></code><code><span class="code-snippet_outer">                    do</span></code><code><span class="code-snippet_outer">                    {</span></code><code><span class="code-snippet_outer">                      v107 = (unsigned int)((v106 + v105 * v103) * v73);</span></code><code><span class="code-snippet_outer">                      v108 = v104 + (unsigned int)((v101 * v102 + v103) * v73);</span></code><code><span class="code-snippet_outer">                      v109 = v73;</span></code><code><span class="code-snippet_outer">                      do</span></code><code><span class="code-snippet_outer">                      {</span></code><code><span class="code-snippet_outer">                        v110 = (unsigned __int8)v70[v108 &gt;&gt; 3] &gt;&gt; (~(_BYTE)v108 &amp; 7);</span></code><code><span class="code-snippet_outer">                        ++v108;</span></code><code><span class="code-snippet_outer">                        if ( (v110 &amp; 1) != 0 )</span></code><code><span class="code-snippet_outer">                          v68[v107 &gt;&gt; 3] |= (v110 &amp; 1) &lt;&lt; (~(_BYTE)v107 &amp; 7);</span></code><code><span class="code-snippet_outer">                        ++v107;</span></code><code><span class="code-snippet_outer">                        --v109;</span></code><code><span class="code-snippet_outer">                      }</span></code><code><span class="code-snippet_outer">                      while ( v109 );</span></code><code><span class="code-snippet_outer">                      ++v103;</span></code><code><span class="code-snippet_outer">                    }</span></code><code><span class="code-snippet_outer">                    while ( v103 != v102 );</span></code><code><span class="code-snippet_outer">                  }</span></code><code><span class="code-snippet_outer">                  ++v101;</span></code><code><span class="code-snippet_outer">                }</span></code><code><span class="code-snippet_outer">                while ( v101 != v100 );</span></code><code><span class="code-snippet_outer">              }</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          else</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v78 = 0LL;</span></code><code><span class="code-snippet_outer">            v79 = (unsigned int)v73 &gt;&gt; 3;</span></code><code><span class="code-snippet_outer">            do</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              v80 = v142[v78];</span></code><code><span class="code-snippet_outer">              if ( v80 )</span></code><code><span class="code-snippet_outer">              {</span></code><code><span class="code-snippet_outer">                v81 = 0;</span></code><code><span class="code-snippet_outer">                v82 = 0;</span></code><code><span class="code-snippet_outer">                v83 = (unsigned int)v143[v78];</span></code><code><span class="code-snippet_outer">                do</span></code><code><span class="code-snippet_outer">                {</span></code><code><span class="code-snippet_outer">                  if ( (_DWORD)v83 )</span></code><code><span class="code-snippet_outer">                  {</span></code><code><span class="code-snippet_outer">                    v84 = 0LL;</span></code><code><span class="code-snippet_outer">                    v85 = dword_104823FA4[v78];</span></code><code><span class="code-snippet_outer">                    v86 = dword_104823FC0[v78] + v63 * (dword_104823FF8[v78] + dword_104823FDC[v78] * v82);</span></code><code><span class="code-snippet_outer">                    v87 = &amp;v70[v139[v78]];</span></code><code><span class="code-snippet_outer">                    v88 = v81;</span></code><code><span class="code-snippet_outer">                    do</span></code><code><span class="code-snippet_outer">                    {</span></code><code><span class="code-snippet_outer">                      if ( (_DWORD)v79 )</span></code><code><span class="code-snippet_outer">                      {</span></code><code><span class="code-snippet_outer">                        v89 = &amp;v68[v79 * v86];</span></code><code><span class="code-snippet_outer">                        v90 = &amp;v87[v79 * v88];</span></code><code><span class="code-snippet_outer">                        v91 = (unsigned int)v73 &gt;&gt; 3;</span></code><code><span class="code-snippet_outer">                        do</span></code><code><span class="code-snippet_outer">                        {</span></code><code><span class="code-snippet_outer">                          v92 = *v90++;</span></code><code><span class="code-snippet_outer">                          *v89++ = v92;</span></code><code><span class="code-snippet_outer">                          --v91;</span></code><code><span class="code-snippet_outer">                        }</span></code><code><span class="code-snippet_outer">                        while ( v91 );</span></code><code><span class="code-snippet_outer">                      }</span></code><code><span class="code-snippet_outer">                      ++v84;</span></code><code><span class="code-snippet_outer">                      v86 += v85;</span></code><code><span class="code-snippet_outer">                      ++v88;</span></code><code><span class="code-snippet_outer">                    }</span></code><code><span class="code-snippet_outer">                    while ( v84 != v83 );</span></code><code><span class="code-snippet_outer">                  }</span></code><code><span class="code-snippet_outer">                  ++v82;</span></code><code><span class="code-snippet_outer">                  v81 += v83;</span></code><code><span class="code-snippet_outer">                }</span></code><code><span class="code-snippet_outer">                while ( v82 != v80 );</span></code><code><span class="code-snippet_outer">              }</span></code><code><span class="code-snippet_outer">              ++v78;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">            while ( v78 != 7 );</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          v72 = 0;</span></code><code><span class="code-snippet_outer">          v97 = 1;</span></code><code><span class="code-snippet_outer">LABEL_186:</span></code><code><span class="code-snippet_outer">          v50 = v127;</span></code><code><span class="code-snippet_outer">          v62 = v125;</span></code><code><span class="code-snippet_outer">          if ( v97 )</span></code><code><span class="code-snippet_outer">LABEL_187:</span></code><code><span class="code-snippet_outer">            v72 = 0;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        else</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v93 = v64;</span></code><code><span class="code-snippet_outer">          v94 = v73 * v63;</span></code><code><span class="code-snippet_outer">          v95 = (v73 * v63 + 7) &amp; 0xFFFFFFF8;</span></code><code><span class="code-snippet_outer">          if ( (unsigned int)v73 &gt; 7 || v94 == v95 )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v72 = sub_1036B7A4C(v68, v131, v63, v93, v73);</span></code><code><span class="code-snippet_outer">            if ( !v72 )</span></code><code><span class="code-snippet_outer">              goto LABEL_187;</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          else</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v118 = v63;</span></code><code><span class="code-snippet_outer">            v119 = v93;</span></code><code><span class="code-snippet_outer">            v72 = sub_1036B7A4C(v131, v131, v118, v93, v73);</span></code><code><span class="code-snippet_outer">            if ( !v72 )</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              sub_1036B7D74(v68, v70, v94, v95, v119);</span></code><code><span class="code-snippet_outer">              goto LABEL_187;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v72 = 31;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    else</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v72 = 83;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v25 = v130;</span></code><code><span class="code-snippet_outer">    *v130 = v72;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v132 = 0LL;</span></code><code><span class="code-snippet_outer">  v133 = 0LL;</span></code><code><span class="code-snippet_outer">  free(v131);</span></code><code><span class="code-snippet_outer">  result = (unsigned int)*v25;</span></code><code><span class="code-snippet_outer">  if ( !(_DWORD)result )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( v8[13] )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( (unsigned int)sub_1036B4698(v8 + 38, v50) )</span></code><code><span class="code-snippet_outer">        return 0LL;</span></code><code><span class="code-snippet_outer">      v111 = (_BYTE *)*v122;</span></code><code><span class="code-snippet_outer">      v112 = v8[38];</span></code><code><span class="code-snippet_outer">      if ( (v112 | 4) != 6 &amp;&amp; v8[39] != 8 )</span></code><code><span class="code-snippet_outer">        return 56LL;</span></code><code><span class="code-snippet_outer">      v113 = *v62;</span></code><code><span class="code-snippet_outer">      v114 = *v124;</span></code><code><span class="code-snippet_outer">      v115 = sub_1036B3D08(*v62, *v124, v112, v8[39]);</span></code><code><span class="code-snippet_outer">      v116 = malloc(v115);</span></code><code><span class="code-snippet_outer">      *v122 = v116;</span></code><code><span class="code-snippet_outer">      if ( v116 )</span></code><code><span class="code-snippet_outer">        v117 = sub_1036B4148(v116, v111, v8 + 38, v50, v113, v114);</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">        v117 = 83;</span></code><code><span class="code-snippet_outer">      *v25 = v117;</span></code><code><span class="code-snippet_outer">      free(v111);</span></code><code><span class="code-snippet_outer">      return (unsigned int)*v25;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    result = sub_1036B3C4C(v8 + 38, v50);</span></code><code><span class="code-snippet_outer">LABEL_97:</span></code><code><span class="code-snippet_outer">    *v25 = result;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  return result;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解析返回PIC数据(部分):</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">00000001050CDA00  2E 50 49 43 90 01 00 00  10 02 00 00 AC 02 00 00  .PIC............</span></code><code><span class="code-snippet_outer">00000001050CDA10  01 A3 A0 68 E4 0A 6B 23  00 00 00 00 E2 D2 82 82  ...h...#........</span></code><code><span class="code-snippet_outer">00000001050CDA20  4F 62 7C 40 82 53 99 C0  4F 26 5B 8E E0 2C 66 D5  Ob|@.S...&amp;[.....</span></code><code><span class="code-snippet_outer">00000001050CDA30  8A A6 9D 5D 6D 32 E7 CD  1A AC C0 10 93 40 49 3E  ...]m2.......@I&gt;</span></code><code><span class="code-snippet_outer">00000001050CDA40  C0 94 99 F5 F6 8C 6D DB  76 67 81 E7 4E BC 73 92  .........g....s.</span></code><code><span class="code-snippet_outer">00000001050CDA50  4C 31 D4 CD E5 5D AC 48  D0 64 1E D7 5B 2B BA 2E  L1.....H.....+..</span></code><code><span class="code-snippet_outer">00000001050CDA60  8C EC 98 E9 9B 4A 0D 3D  81 45 FD 58 49 25 94 47  .....J.=.E.XI%.G</span></code><code><span class="code-snippet_outer">00000001050CDA70  62 61 48 45 4A B9 43 87  59 E9 8C 6D D5 EE C2 B7  baHEJ.C.Y.....· </span></code><code><span class="code-snippet_outer">00000001050CDA80  0C D0 29 4C 10 D6 98 CE  7B E1 90 A9 40 4D 9E 3F  ...L.....ᐩ  @M.?</span></code><code><span class="code-snippet_outer">00000001050CDA90  28 D1 8E ED 8E 14 8B AD  CB 21 CB 0F FF 6D 29 1D  (ю ..........m).</span></code><code><span class="code-snippet_outer">00000001050CDAA0  A6 88 9B 84 E9 38 DC 5F  E8 B1 06 14 2A 39 90 5B  ......._....*9.[</span></code></pre></section><h4 data-source-line="904" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">4.3、解密PIC数据</span></h4><h6 data-source-line="905" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">生成AES KEY</h6><p data-source-line="906" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">将上面计算得到的hmac值转换成16进制:</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">39d3b771767409f5e74f4b579b868a5c0192131861c1791c833b5c95e99c412b</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">__text:0000000101B83748             loc_101B83748 </span></code><code><span class="code-snippet_outer">__text:0000000101B83748 F7 B3 00 78 STURH           W23, [SP,#0xB]</span></code><code><span class="code-snippet_outer">__text:0000000101B8374C C8 02 40 39 LDRB            W8, [X22]</span></code><code><span class="code-snippet_outer">__text:0000000101B83750 E8 37 00 39 STRB            W8, [SP,#0xD]</span></code><code><span class="code-snippet_outer">__text:0000000101B83754 C8 06 40 39 LDRB            W8, [X22,#1]</span></code><code><span class="code-snippet_outer">__text:0000000101B83758 E8 3B 00 39 STRB            W8, [SP,#0xE]</span></code><code><span class="code-snippet_outer">__text:0000000101B8375C FF 3F 00 39 STRB            WZR, [SP,#0xF]</span></code><code><span class="code-snippet_outer">__text:0000000101B83760 E0 2F 00 91 ADD             X0, SP, #0xB</span></code><code><span class="code-snippet_outer">__text:0000000101B83764 01 00 80 D2 MOV             X1, #0</span></code><code><span class="code-snippet_outer">__text:0000000101B83768 02 00 80 52 MOV             W2, #0</span></code><code><span class="code-snippet_outer">__text:0000000101B8376C D3 51 42 94 BL              _strtol</span></code><code><span class="code-snippet_outer">__text:0000000101B83770 20 17 00 38 STRB            W0, [X25],#1</span></code><code><span class="code-snippet_outer">__text:0000000101B83774 D6 0A 00 91 ADD             X22, X22, #2</span></code><code><span class="code-snippet_outer">__text:0000000101B83778 18 07 00 F1 SUBS            X24, X24, #1</span></code><code><span class="code-snippet_outer">__text:0000000101B8377C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B83780 41 FE FF 54 B.NE            loc_101B83748</span></code><code><span class="code-snippet_outer">__text:0000000101B83784 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B83788 A0 00 00 18 LDR             W0, =1</span></code><code><span class="code-snippet_outer">__text:0000000101B8378C C4 FF FF 17 B               loc_101B8369C</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">转换后:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">0000000281E86790  39 D3 B7 71 76 74 09 F5  E7 4F 4B 57 9B 86 8A 5C</span></code><code><span class="code-snippet_outer">0000000281E867A0  01 92 13 18 61 C1 79 1C  83 3B 5C 95 E9 9C 41 2B</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">取转换后的的前0x10字节生成最终的AES KEY</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">__text:0000000101B2170C             GenAesKey_loc_102FD570C </span></code><code><span class="code-snippet_outer">__text:0000000101B2170C 8D 69 68 38 LDRB            W13, [X12,X8]           ; 生成解密PIC的AES KEY</span></code><code><span class="code-snippet_outer">__text:0000000101B21710 AE 2D 1C 11 ADD             W14, W13, #0x70B</span></code><code><span class="code-snippet_outer">__text:0000000101B21714 CF 09 C9 1A UDIV            W15, W14, W9</span></code><code><span class="code-snippet_outer">__text:0000000101B21718 EE B9 09 1B MSUB            W14, W15, W9, W14</span></code><code><span class="code-snippet_outer">__text:0000000101B2171C AF 0D 2F 11 ADD             W15, W13, #0xBC3</span></code><code><span class="code-snippet_outer">__text:0000000101B21720 F0 09 CA 1A UDIV            W16, W15, W10</span></code><code><span class="code-snippet_outer">__text:0000000101B21724 0F BE 0A 1B MSUB            W15, W16, W10, W15</span></code><code><span class="code-snippet_outer">__text:0000000101B21728 EE 39 09 1B MADD            W14, W15, W9, W14</span></code><code><span class="code-snippet_outer">__text:0000000101B2172C CE 05 0E 0B ADD             W14, W14, W14,LSL#1</span></code><code><span class="code-snippet_outer">__text:0000000101B21730 CE 09 00 11 ADD             W14, W14, #2</span></code><code><span class="code-snippet_outer">__text:0000000101B21734 6E 49 6E 38 LDRB            W14, [X11,W14,UXTW]     ; 查表</span></code><code><span class="code-snippet_outer">__text:0000000101B21738 AD 01 0E 0A AND             W13, W13, W14</span></code><code><span class="code-snippet_outer">__text:0000000101B2173C AD 19 1F 12 AND             W13, W13, #0xFE</span></code><code><span class="code-snippet_outer">__text:0000000101B21740 8D 69 28 38 STRB            W13, [X12,X8]           ; 存AES KEY</span></code><code><span class="code-snippet_outer">__text:0000000101B21744 08 05 00 91 ADD             X8, X8, #1</span></code><code><span class="code-snippet_outer">__text:0000000101B21748 1F 41 00 F1 CMP             X8, #0x10</span></code><code><span class="code-snippet_outer">__text:0000000101B2174C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B21750 E1 FD FF 54 B.NE            GenAesKey_loc_102FD570C ; 生成解密PIC的AES KEY</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">生成后的AESKEY:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">38 90 B6 70 76 74 00 C0  E6 4E 4A 02 98 80 8A 1C</span></code></pre></section><p><span style="color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;font-weight: 600;text-align: start;">AES解密PIC数据:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:0000000101B1FA10 82 07 00 94 BL              DecPic_loc_105235818    ; x0:第1个指针pic数据,X1:key</span></code><code><span class="code-snippet_outer">__text:0000000101B1FA14 E8 03 00 AA MOV             X8, X0                  ; X0:返回解密后的pic明文值</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//获取IV  0102030405060708</span></code><code><span class="code-snippet_outer">//AES解密</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABCC E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABD0 E0 03 00 91 MOV             X0, SP</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABD4 82 1E 80 52 MOV             W2, #0xF4</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABD8 01 00 80 52 MOV             W1, #0</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABDC BA F1 43 94 BL              _memset</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABE0 E1 03 19 32 MOV             W1, #0x80</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABE4 E2 03 00 91 MOV             X2, SP</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABE8 E0 03 18 AA MOV             X0, X24</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABEC 69 51 FF 97 BL              InitKey_sub_102CBF190   ; 初始化KEY</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABF0 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABF4 E3 03 00 91 MOV             X3, SP</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABF8 E0 03 16 AA MOV             X0, X22</span></code><code><span class="code-snippet_outer">__text:0000000101B1ABFC E1 03 13 AA MOV             X1, X19</span></code><code><span class="code-snippet_outer">__text:0000000101B1AC00 E2 03 15 AA MOV             X2, X21</span></code><code><span class="code-snippet_outer">__text:0000000101B1AC04 E4 03 17 AA MOV             X4, X23</span></code><code><span class="code-snippet_outer">__text:0000000101B1AC08 05 00 80 52 MOV             W5, #0</span></code><code><span class="code-snippet_outer">__text:0000000101B1AC0C C9 53 FF 97 BL              Aes_Enc_Dec_sub_102CBFB30 ; 加密时:X1:原始数据,X2:大小,X3:初始化后的key,X4:IV,X5:模式:0:解密,1:加密</span></code><code><span class="code-snippet_outer">__text:0000000101B1AC0C                                                     ; 解密时:X0:原始数据,x1:返回,X2:大小,X3:初始化后的key,X4:IV,X5:模式:0:解密,1:加密</span></code><code><span class="code-snippet_outer">__text:0000000101B1AC10 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000101B1AC14 E0 03 13 AA MOV             X0, X19</span></code><code><span class="code-snippet_outer">__text:0000000101B1AC18 E1 03 15 AA MOV             X1, X21</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密后数据(部分)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">0000000104486020  78 9C 45 92 6D 6F DA 30  14 85 FF 4B B4 7D DA 44  x.E.mo.....K.}..</span></code><code><span class="code-snippet_outer">0000000104486030  FD 9E 18 69 5A CB DA 91  C2 02 2D B4 94 F0 ED 3A  ...iZ.....-.....</span></code><code><span class="code-snippet_outer">0000000104486040  76 C0 4D 42 50 20 6D 42  C7 7F 9F 3D 4D 9A 64 E9  v..BP mB...=M.d.</span></code><code><span class="code-snippet_outer">0000000104486050  DA 47 D7 CF 3D 3E F2 47  00 38 18 E2 AF AE A0 60  ....=&gt;.....⯮  .`</span></code><code><span class="code-snippet_outer">0000000104486060  C8 10 72 3B 12 0C 83 AC  AE 06 0A 6A B7 C0 66 3B  ..r;.......j...;</span></code><code><span class="code-snippet_outer">0000000104486070  3B B0 95 AB 60 03 DF E8  2E 04 08 42 A1 29 A3 3C  ;...`......B.).&lt;</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解压缩AES解密后数据得到明文，后面的加解密数据都会使用里面数据做为KEY:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{&#34;a1&#34;:1,&#34;a10&#34;:400,&#34;a2&#34;:&#34;com.baobaoaichi.imaicai&#34;,&#34;a11&#34;:&#34;0a76d34357f7c7859c1a3fd25516b4e4021ec931fd56b6a36ebf73e5aa34c406&#34;,&#34;a3&#34;:&#34;b9eb65dbc4c7109259edc07826390faf3bd09e3920d66580b04a0853d3ee172b&#34;,&#34;a4&#34;:5230,&#34;k0&#34;:{&#34;k1&#34;:&#34;meituan1sankuai0&#34;,&#34;k2&#34;:&#34;meituan0sankuai1&#34;,&#34;k3&#34;:&#34;$MXMYBS@HelloPay&#34;,&#34;k4&#34;:&#34;Maoyan010iauknaS&#34;,&#34;k5&#34;:&#34;34281a9dw2i701d4&#34;,&#34;k6&#34;:&#34;X%rj@KiuU+|xY}?f&#34;},&#34;a5&#34;:&#34;5.23.0&#34;,&#34;a0&#34;:&#34;sdk9xWZTg5V9nKAxVFB5mB1ipZIJGmYSysreJ1f/rlvXJ7Ydxd3hJRdWb4QdZKr/&#34;,&#34;a6&#34;:&#34;HdPfNPzY9GK6wzp0lEgaMaX06uEMke8y0H3eD0l4RapMpRmVaOWzyQkHMmOavR47&#34;,&#34;a7&#34;:&#34;1yuZHjO43la6rhDXzMkjGiseg9yoRxxDtzwourYASiiAp4Yl0TUGvOiN4UcoJ6pQ&#34;,&#34;c0&#34;:{&#34;c1&#34;:true,&#34;c2&#34;:false},&#34;a9&#34;:&#34;gC4xYEhYfboH/8kOYsdIcbyYRTKfrVgmHLb3x8uNBag=&#34;,&#34;a8&#34;:1627281940842}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解析上面的json数据获取对应的key:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">__text:0000000101AFF460 04 8E 00 94 BL              getPICkey_sub_102CF2C70 ; x0:返回pic json中的key</span></code><code><span class="code-snippet_outer">__text:0000000101B243E4 BF EA FF 97 BL              ParsingJsonGetPicKEY_loc_105232EE0 ; x0:返回key</span></code><code><span class="code-snippet_outer">__text:0000000101B1F050 3D 00 00 94 BL              PasingPicKey_loc_105187144 ; 解析pic获取key</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">__text:0000000101B1F144             PasingPicKey_loc_105187144</span></code><code><span class="code-snippet_outer">__text:0000000101B1F144 E0 7B 3F A9 STP             X0, X30, [SP,#-0x10]</span></code><code><span class="code-snippet_outer">__text:0000000101B1F148 0F 00 00 94 BL              sub_101B1F184</span></code><code><span class="code-snippet_outer">__text:0000000101B1F14C 74 C8 65 4A EON             W20, W3, W5,LSR#50</span></code><code><span class="code-snippet_outer">__text:0000000101B1F14C  </span></code><code><span class="code-snippet_outer">__text:0000000101B1F150 92 64 9A 0F+DCQ 0x16FC3DEB0F9A6492, 0x3C2CBC796F6AD130, 0xD907DA6BC5A30DF2, 0xD2EA795466662B7B</span></code><code><span class="code-snippet_outer">__text:0000000101B1F150 EB 3D FC 16+DCQ 0xBAC13E778CE19C3, 0x227363C9AEC0FB96</span></code><code><span class="code-snippet_outer">__text:0000000101B1F180            </span></code><code><span class="code-snippet_outer">__text:0000000101B1F180 F7 8B 97 A9 STP             X23, X2, [SP,#0x178]!</span></code><code><span class="code-snippet_outer">__text:0000000101B1F184</span></code><code><span class="code-snippet_outer">__text:0000000101B1F184  </span></code><code><span class="code-snippet_outer">__text:0000000101B1F184</span></code><code><span class="code-snippet_outer">__text:0000000101B1F184</span></code><code><span class="code-snippet_outer">__text:0000000101B1F184             sub_101B1F184</span></code><code><span class="code-snippet_outer">__text:0000000101B1F184 40 01 00 10 ADR             X0, loc_101B1F1AC</span></code><code><span class="code-snippet_outer">__text:0000000101B1F188 FE 03 00 AA MOV             X30, X0</span></code><code><span class="code-snippet_outer">__text:0000000101B1F18C C0 03 5F D6 RET</span></code></pre></section><h3 data-source-line="1029" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">五、反爬签名流程</span></h3><h4 data-source-line="1030" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">5.1、APP防爬背景</span></h4><p data-source-line="1031" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">App防爬主要通过对App客户端发起的请求进行签名。然后将签名与业务数据请求发送到服务器端，服务端WAF应用服务器收到的请求后，通过解析签名串进行风险识别、拦截恶意请求,通过校验App请求签名，识别App业务中的风险、拦截恶意请求，实现App防护的目的。<br style="box-sizing: border-box;"/>如图5-1所示，请求头中携带的签名信息:<br style="box-sizing: border-box;"/></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-fileid="100000371" data-ratio="0.38594327990135635" data-s="300,640" style="" data-type="png" data-w="811" src="https://wechat2rss.xlab.app/img-proxy/?k=b9646193&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhpwnluN4RbGLw23HOmToCib83T2zSibC5afxmFMibABVVIa9ehJhA4TlZw%2F640%3Fwx_fmt%3Dpng"/></p><p>                            图5-1<br/></p><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">识别异常爬虫:</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">App签名异常：对使用未携带签名或签名非法的App访问防爬防护目标的请求进行检测和拦截。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">设备特征异常：检测设备的异常特征，是否使用模拟器、使用代理、Root设备、HOOK框架等。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">基于以上逻辑，所以app会检测客户端环境。</span></p><h4 data-source-line="1039" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">5.2、扫描设备风险</span></h4><p data-source-line="1040" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">检测越狱、hook框架等, 风险特征:</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;0&#34;: 5,</span></code><code><span class="code-snippet_outer">  &#34;1&#34;: [&#34;/var/mobile/iGrimace&#34;, &#34;/var/mobile/Library/Preferences/orgioshackigrimaceadvplist&#34;, &#34;/var/mobile/Library/Preferences/com007gaijiselappplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/ALSplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/rstweakplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/AXJplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/fakephonelibplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/IGGplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/AWZplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/iGrimaceX9Tweakplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/igvxplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/R8plist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/iGrimaceplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/V8Eplist&#34;, &#34;/Library/MobileSubstrate/DynamicLibraries/zorroplist&#34;, &#34;/Applications/NZTapp&#34;, &#34;/Applications/AWZapp&#34;, &#34;/var/mobile/awzdata&#34;, &#34;/var/mobile/hdFaker&#34;, &#34;/var/mobile/NZTResultplist&#34;, &#34;/usr/bin/XGenDaemondylib&#34;, &#34;/var/mobile/GFaker&#34;, &#34;/var/mobile/nztdata&#34;, &#34;/usr/bin/iGevo&#34;, &#34;/var/root/Forge9_fix&#34;, &#34;/var/root/igvx_fix&#34;, &#34;/var/root/igvx_flag&#34;, &#34;/var/mobile/Library/XXAssistant/Lua/LocalLuas/&#34;, &#34;/Library/ApplicationSupport/XXAssistant/Lua/LocalLuas/&#34;, &#34;/var/root/igfix&#34;, &#34;/var/root/igflag&#34;, &#34;/var/root/R8_fix&#34;, &#34;/Library/ApplicationSupport/XXAssistant/Lua/Luas/Temp/public&#34;, &#34;/var/mobile/Library/XXIDEHelper/xsp/&#34;, &#34;/Library/ApplicationSupport/XXIDEHelper/xsp/&#34;, &#34;/var/mobile/Library/XXAssistant/Lua/Luas/Temp/public&#34;, &#34;/Applications/HiddenApiapp&#34;, &#34;/Applications/Xgenapp&#34;, &#34;/Applications/BirdFaker9app&#34;, &#34;/Applications/VPNMasterProapp&#34;, &#34;/Applications/GuizmOVPNapp&#34;, &#34;/Applications/AXJapp&#34;, &#34;/var/touchelf/scripts/&#34;, &#34;/var/mobile/Media/TouchSprite/lua/&#34;, &#34;/Applications/iGapp&#34;, &#34;/Applications/Forge9app&#34;, &#34;/Applications/Forgeapp&#34;, &#34;/Applications/GFakerapp&#34;, &#34;/Applications/hdfakersetapp&#34;, &#34;/Applications/R8app&#34;, &#34;/Applications/Pranavaapp&#34;, &#34;/Applications/RSTapp&#34;, &#34;/Applications/WujiVPNapp&#34;, &#34;/Applications/TouchSpriteapp&#34;, &#34;/Applications/TouchElfapp&#34;, &#34;/Applications/igvxapp&#34;, &#34;/usr/sbin/frida-server&#34;],</span></code><code><span class="code-snippet_outer">  &#34;2&#34;: [&#34;hdfakerdylib&#34;, &#34;quickdobdylib&#34;, &#34;Unfloddylib&#34;, &#34;SogouInputIPhonedylib&#34;, &#34;MTTweakdylib&#34;, &#34;iAcessdylib&#34;, &#34;NZTdylib&#34;, &#34;OTRLocationdylib&#34;, &#34;txytweakdylib&#34;, &#34;GPSTravellerTweakdylib&#34;, &#34;GPSTravellerTweak360dylib&#34;, &#34;SkyWalkerBaseTweakdylib&#34;, &#34;Lithiumdylib&#34;, &#34;akLocationXdylib&#34;, &#34;daniutweakdylib&#34;, &#34;gpsmanagerplugindylib&#34;, &#34;pbyydylib&#34;, &#34;jbreakdylib&#34;, &#34;GPSCheatdylib&#34;, &#34;GPSTravellerTweakProXdylib&#34;, &#34;zlocaspritiExdylib&#34;, &#34;locationexpertplugindylib&#34;, &#34;GPSTravellerTweakVIPdylib&#34;, &#34;meituanadylib&#34;, &#34;MATweakExdylib&#34;, &#34;fakegpsplugindylib&#34;, &#34;TEGPSdylib&#34;, &#34;MFTweakExdylib&#34;, &#34;Aerialdylib&#34;, &#34;rstweakdylib&#34;, &#34;Relocatedylib&#34;, &#34;AWZdylib&#34;, &#34;gpsmasterplugindylib&#34;, &#34;ALSdylib&#34;, &#34;zAdaptiveKeyboarddylib&#34;, &#34;CatSysHelperdylib&#34;, &#34;heiying518TweakExdylib&#34;, &#34;0Shadowdylib&#34;, &#34;UnSubdylib&#34;, &#34;zzzzLibertydylib&#34;, &#34;Libertydylib&#34;, &#34;xCondylib&#34;, &#34;Libertasdylib&#34;],</span></code><code><span class="code-snippet_outer">  &#34;3&#34;: [&#34;comsengledprotocolbtspeaker&#34;, &#34;comgpsmockgps&#34;, &#34;comcompanyaccessory&#34;, &#34;comqzbzsproqpro1810&#34;, &#34;commmpmmp&#34;, &#34;comlocaspritihw&#34;, &#34;comlogitechm100&#34;],</span></code><code><span class="code-snippet_outer">  &#34;4&#34;: [</span></code><code><span class="code-snippet_outer">    [&#34;UIDevice&#34;, &#34;systemVersion&#34;, &#34;/System/Library/PrivateFrameworks/UIKitCoreframework/UIKitCore&#34;],</span></code><code><span class="code-snippet_outer">    [&#34;UIDevice&#34;, &#34;identifierForVendor&#34;, &#34;/System/Library/PrivateFrameworks/UIKitCoreframework/UIKitCore&#34;],</span></code><code><span class="code-snippet_outer">    [&#34;UIDevice&#34;, &#34;model&#34;, &#34;/System/Library/PrivateFrameworks/UIKitCoreframework/UIKitCore&#34;],</span></code><code><span class="code-snippet_outer">    [&#34;UIDevice&#34;, &#34;hwmodel&#34;, &#34;/usr/lib/libobjcAdylib&#34;],</span></code><code><span class="code-snippet_outer">    [&#34;NSBundle&#34;, &#34;executablePath&#34;, &#34;/System/Library/Frameworks/Foundationframework/Foundation&#34;],</span></code><code><span class="code-snippet_outer">    [&#34;NSBundle&#34;, &#34;bundleIdentifier&#34;, &#34;/System/Library/Frameworks/Foundationframework/Foundation&#34;]</span></code><code><span class="code-snippet_outer">  ],</span></code><code><span class="code-snippet_outer">  &#34;5&#34;: [&#34;/usr/sbin/frida-server&#34;, &#34;/etc/apt/sourceslistd/electralist&#34;, &#34;/etc/apt/sourceslistd/sileosources&#34;, &#34;/bootstrapped_electra&#34;, &#34;/usr/lib/libjailbreakdylib&#34;, &#34;/jb/lzma&#34;, &#34;/cydia_no_stash&#34;, &#34;/installed_unc0ver&#34;, &#34;/jb/offsetsplist&#34;, &#34;/usr/share/jailbreak/injectmeplist&#34;, &#34;/etc/apt/undecimus/undecimuslist&#34;, &#34;/var/lib/dpkg/info/mobilesubstratemd5sums&#34;, &#34;/jb/jailbreakdplist&#34;, &#34;/jb/amfid_payloaddylib&#34;, &#34;/jb/libjailbreakdylib&#34;, &#34;/usr/libexec/cydia/firmwaresh&#34;, &#34;/var/lib/cydia&#34;, &#34;/private/var/Users/&#34;, &#34;/var/log/apt&#34;, &#34;/private/var/lib/apt/&#34;, &#34;/private/var/cache/apt/&#34;, &#34;/private/var/log/syslog&#34;, &#34;/Applications/blackra1napp&#34;, &#34;/Applications/FakeCarrierapp&#34;, &#34;/private/var/mobile/Library/SBSettings/Themes&#34;, &#34;/Library/MobileSubstrate/CydiaSubstratedylib&#34;, &#34;/Applications/Sileoapp&#34;, &#34;/var/binpack&#34;, &#34;/Library/PreferenceBundles/LibertyPrefbundle&#34;, &#34;/Library/PreferenceBundles/ShadowPreferencesbundle&#34;, &#34;/Library/PreferenceBundles/ABypassPrefsbundle&#34;, &#34;/Library/PreferenceBundles/FlyJBPrefsbundle&#34;, &#34;/usr/lib/libhookerdylib&#34;, &#34;/usr/lib/libsubstitutedylib&#34;, &#34;/usr/lib/substrate&#34;, &#34;/usr/lib/TweakInject&#34;],</span></code><code><span class="code-snippet_outer">  &#34;6&#34;: [],</span></code><code><span class="code-snippet_outer">  &#34;7&#34;: [],</span></code><code><span class="code-snippet_outer">  &#34;8&#34;: [],</span></code><code><span class="code-snippet_outer">  &#34;9&#34;: [],</span></code><code><span class="code-snippet_outer">  &#34;10&#34;: [],</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">检测后结果:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="powershell"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;b1&#34;: &#34;{\&#34;7\&#34;:\&#34;-\&#34;,\&#34;3\&#34;:\&#34;-\&#34;,\&#34;4\&#34;:\&#34;-\&#34;,\&#34;5\&#34;:\&#34;-\&#34;,\&#34;1\&#34;:\&#34;-\&#34;,\&#34;33\&#34;:\&#34;{\\\&#34;7\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;3\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;8\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;4\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;0\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;9\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;5\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;1\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;6\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;2\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;10\\\&#34;:\\\&#34;-\\\&#34;}\&#34;,\&#34;6\&#34;:\&#34;-\&#34;,\&#34;2\&#34;:\&#34;-\&#34;}&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b2&#34;: 1,</span></code><code><span class="code-snippet_outer">  &#34;b3&#34;: 1,</span></code><code><span class="code-snippet_outer">  &#34;b4&#34;: &#34;com.baobaoaichi.imaicai&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b5&#34;: &#34;5.25.0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b6&#34;: 5250,</span></code><code><span class="code-snippet_outer">  &#34;b7&#34;: 1635652007,</span></code><code><span class="code-snippet_outer">  &#34;b8&#34;: 1635650608,</span></code><code><span class="code-snippet_outer">  &#34;b9&#34;: 1635650608,</span></code><code><span class="code-snippet_outer">  &#34;b10&#34;: &#34;5.2.11&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b11&#34;: &#34;5.2.11&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b12&#34;: 2</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">压缩后json</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">0000000107C97080  78 9C 6D 90 4D 0E 84 30  08 85 EF C2 DA 69 A0 4A  x.m.M..0.....i.J</span></code><code><span class="code-snippet_outer">0000000107C97090  D5 9E 85 4D 75 33 5D 18  0F 60 BC FB C0 18 93 8E  ՞ .Mu3]..`......</span></code><code><span class="code-snippet_outer">0000000107C970A0  43 D2 84 F7 3E 7E 5A 7A  C0 42 90 E1 10 18 05 B2  C......z........</span></code><code><span class="code-snippet_outer">0000000107C970B0  C0 4B A0 13 E8 1B 3D 34  9A 1B 4D 6D FD D5 70 88  .......4..Mm....</span></code><code><span class="code-snippet_outer">0000000107C970C0  D8 1C 31 23 96 13 CB 8A  CD FB 67 93 C3 06 87 A1  ..1#..ˊ ..g.....</span></code><code><span class="code-snippet_outer">0000000107C970D0  C3 66 87 B1 C3 C8 61 C9  61 D1 EB 7D 5C 7C 7E 37  ......a....}\|~7</span></code><code><span class="code-snippet_outer">0000000107C970E0  4D CD D6 F1 D6 27 74 B0  44 C8 A4 A1 BF C2 A0 9F  M.......DȤ ..  .</span></code><code><span class="code-snippet_outer">0000000107C970F0  BA EE 5B 58 CA AE A7 D4  F5 5D 43 DD 34 96 6A C5  ....ʮ ...]C...j.</span></code><code><span class="code-snippet_outer">0000000107C97100  AC 69 0E 91 03 9A 4B 90  39 32 AA 1A B5 3B F5 9C  .i....K.92...;..</span></code><code><span class="code-snippet_outer">0000000107C97110  38 22 8E EA A7 DB 63 C2  49 FD FC F0 84 D7 A0 40  8&#34;....c........@</span></code></pre></section><p><br/></p><h6 data-source-line="1093" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">RC4加密压缩后数据:</h6><p data-source-line="1094" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">组合加密密钥：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer">1635653901 6d1efb41-1bb2-4db1-88ee-b89d21d06e5f  //当前时间加获取appkey(ak:info.plist)</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">加密:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:00000001052F9848             Rc4Enc_sub_10310D848</span></code><code><span class="code-snippet_outer">__text:00000001052F9848</span></code><code><span class="code-snippet_outer">__text:00000001052F9848             var_118= -0x118</span></code><code><span class="code-snippet_outer">__text:00000001052F9848             var_18= -0x18</span></code><code><span class="code-snippet_outer">__text:00000001052F9848             var_10= -0x10</span></code><code><span class="code-snippet_outer">__text:00000001052F9848             var_s0=  0</span></code><code><span class="code-snippet_outer">__text:00000001052F9848</span></code><code><span class="code-snippet_outer">__text:00000001052F9848 FF C3 04 D1 SUB             SP, SP, #0x130</span></code><code><span class="code-snippet_outer">__text:00000001052F984C FC 6F 11 A9 STP             X28, X27, [SP,#0x120+var_10]</span></code><code><span class="code-snippet_outer">__text:00000001052F9850 FD 7B 12 A9 STP             X29, X30, [SP,#0x120+var_s0]</span></code><code><span class="code-snippet_outer">__text:00000001052F9854 FD 83 04 91 ADD             X29, SP, #0x120</span></code><code><span class="code-snippet_outer">__text:00000001052F9858 68 BC 00 D0 ADRP            X8, #___stack_chk_guard_ptr@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052F985C 08 FD 43 F9 LDR             X8, [X8,#___stack_chk_guard_ptr@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052F9860 08 01 40 F9 LDR             X8, [X8]</span></code><code><span class="code-snippet_outer">__text:00000001052F9864 A8 83 1E F8 STUR            X8, [X29,#var_18]</span></code><code><span class="code-snippet_outer">__text:00000001052F9868 41 06 00 34 CBZ             W1, loc_1052F9930</span></code><code><span class="code-snippet_outer">__text:00000001052F986C 08 00 80 D2 MOV             X8, #0</span></code><code><span class="code-snippet_outer">__text:00000001052F9870 29 8B 00 B0 ADRP            X9, #qword_10645E4D8@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052F9874 20 6D 42 FD LDR             D0, [X9,#qword_10645E4D8@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052F9878 E9 23 00 91 ADD             X9, SP, #0x120+var_118</span></code><code><span class="code-snippet_outer">__text:00000001052F987C 01 E5 00 0F MOVI            V1.8B, #8</span></code><code><span class="code-snippet_outer">__text:00000001052F9880</span></code><code><span class="code-snippet_outer">__text:00000001052F9880             loc_1052F9880 </span></code><code><span class="code-snippet_outer">__text:00000001052F9880 20 69 28 FC STR             D0, [X9,X8]</span></code><code><span class="code-snippet_outer">__text:00000001052F9884 08 21 00 91 ADD             X8, X8, #8</span></code><code><span class="code-snippet_outer">__text:00000001052F9888 00 84 21 0E ADD             V0.8B, V0.8B, V1.8B</span></code><code><span class="code-snippet_outer">__text:00000001052F988C 1F 01 04 F1 CMP             X8, #0x100</span></code><code><span class="code-snippet_outer">__text:00000001052F9890 81 FF FF 54 B.NE            loc_1052F9880</span></code><code><span class="code-snippet_outer">__text:00000001052F9894 08 00 80 D2 MOV             X8, #0</span></code><code><span class="code-snippet_outer">__text:00000001052F9898 0A 00 80 52 MOV             W10, #0</span></code><code><span class="code-snippet_outer">__text:00000001052F989C E9 23 00 91 ADD             X9, SP, #0x120+var_118</span></code><code><span class="code-snippet_outer">__text:00000001052F98A0</span></code><code><span class="code-snippet_outer">__text:00000001052F98A0             loc_1052F98A0</span></code><code><span class="code-snippet_outer">__text:00000001052F98A0 2B 69 68 38 LDRB            W11, [X9,X8]</span></code><code><span class="code-snippet_outer">__text:00000001052F98A4 4A 01 0B 0B ADD             W10, W10, W11</span></code><code><span class="code-snippet_outer">__text:00000001052F98A8 0C 0D C1 1A SDIV            W12, W8, W1</span></code><code><span class="code-snippet_outer">__text:00000001052F98AC 8C A1 01 1B MSUB            W12, W12, W1, W8</span></code><code><span class="code-snippet_outer">__text:00000001052F98B0 0C 48 6C 38 LDRB            W12, [X0,W12,UXTW]</span></code><code><span class="code-snippet_outer">__text:00000001052F98B4 4A 01 0C 0B ADD             W10, W10, W12</span></code><code><span class="code-snippet_outer">__text:00000001052F98B8 4A 1D 00 12 AND             W10, W10, #0xFF</span></code><code><span class="code-snippet_outer">__text:00000001052F98BC 2C 49 6A 38 LDRB            W12, [X9,W10,UXTW]</span></code><code><span class="code-snippet_outer">__text:00000001052F98C0 2C 69 28 38 STRB            W12, [X9,X8]</span></code><code><span class="code-snippet_outer">__text:00000001052F98C4 2B 49 2A 38 STRB            W11, [X9,W10,UXTW]</span></code><code><span class="code-snippet_outer">__text:00000001052F98C8 08 05 00 91 ADD             X8, X8, #1</span></code><code><span class="code-snippet_outer">__text:00000001052F98CC 1F 01 04 F1 CMP             X8, #0x100</span></code><code><span class="code-snippet_outer">__text:00000001052F98D0 81 FE FF 54 B.NE            loc_1052F98A0</span></code><code><span class="code-snippet_outer">__text:00000001052F98D4 7F 04 00 71 CMP             W3, #1</span></code><code><span class="code-snippet_outer">__text:00000001052F98D8 CB 02 00 54 B.LT            loc_1052F9930</span></code><code><span class="code-snippet_outer">__text:00000001052F98DC 08 00 80 52 MOV             W8, #0</span></code><code><span class="code-snippet_outer">__text:00000001052F98E0 09 00 80 52 MOV             W9, #0</span></code><code><span class="code-snippet_outer">__text:00000001052F98E4 EA 23 00 91 ADD             X10, SP, #0x120+var_118</span></code><code><span class="code-snippet_outer">__text:00000001052F98E8 EB 03 03 2A MOV             W11, W3</span></code><code><span class="code-snippet_outer">__text:00000001052F98EC</span></code><code><span class="code-snippet_outer">__text:00000001052F98EC             loc_1052F98EC </span></code><code><span class="code-snippet_outer">__text:00000001052F98EC 29 05 00 11 ADD             W9, W9, #1</span></code><code><span class="code-snippet_outer">__text:00000001052F98F0 29 1D 00 12 AND             W9, W9, #0xFF</span></code><code><span class="code-snippet_outer">__text:00000001052F98F4 4C 49 69 38 LDRB            W12, [X10,W9,UXTW]</span></code><code><span class="code-snippet_outer">__text:00000001052F98F8 08 01 0C 0B ADD             W8, W8, W12</span></code><code><span class="code-snippet_outer">__text:00000001052F98FC 08 1D 00 12 AND             W8, W8, #0xFF</span></code><code><span class="code-snippet_outer">__text:00000001052F9900 4D 49 68 38 LDRB            W13, [X10,W8,UXTW]</span></code><code><span class="code-snippet_outer">__text:00000001052F9904 4D 49 29 38 STRB            W13, [X10,W9,UXTW]</span></code><code><span class="code-snippet_outer">__text:00000001052F9908 4C 49 28 38 STRB            W12, [X10,W8,UXTW]</span></code><code><span class="code-snippet_outer">__text:00000001052F990C 4D 00 40 39 LDRB            W13, [X2]</span></code><code><span class="code-snippet_outer">__text:00000001052F9910 4E 49 69 38 LDRB            W14, [X10,W9,UXTW]</span></code><code><span class="code-snippet_outer">__text:00000001052F9914 CC 01 0C 0B ADD             W12, W14, W12</span></code><code><span class="code-snippet_outer">__text:00000001052F9918 8C 1D 00 12 AND             W12, W12, #0xFF</span></code><code><span class="code-snippet_outer">__text:00000001052F991C 4C 49 6C 38 LDRB            W12, [X10,W12,UXTW]</span></code><code><span class="code-snippet_outer">__text:00000001052F9920 8C 01 0D 4A EOR             W12, W12, W13</span></code><code><span class="code-snippet_outer">__text:00000001052F9924 4C 14 00 38 STRB            W12, [X2],#1</span></code><code><span class="code-snippet_outer">__text:00000001052F9928 6B 05 00 F1 SUBS            X11, X11, #1</span></code><code><span class="code-snippet_outer">__text:00000001052F992C 01 FE FF 54 B.NE            loc_1052F98EC</span></code><code><span class="code-snippet_outer">__text:00000001052F9930</span></code><code><span class="code-snippet_outer">__text:00000001052F9930             loc_1052F9930</span></code><code><span class="code-snippet_outer">__text:00000001052F9930       </span></code><code><span class="code-snippet_outer">__text:00000001052F9930 A8 83 5E F8 LDUR            X8, [X29,#var_18]</span></code><code><span class="code-snippet_outer">__text:00000001052F9934 69 BC 00 D0 ADRP            X9, #___stack_chk_guard_ptr@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052F9938 29 FD 43 F9 LDR             X9, [X9,#___stack_chk_guard_ptr@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052F993C 29 01 40 F9 LDR             X9, [X9]</span></code><code><span class="code-snippet_outer">__text:00000001052F9940 3F 01 08 EB CMP             X9, X8</span></code><code><span class="code-snippet_outer">__text:00000001052F9944 A1 00 00 54 B.NE            loc_1052F9958</span></code><code><span class="code-snippet_outer">__text:00000001052F9948 FD 7B 52 A9 LDP             X29, X30, [SP,#0x120+var_s0]</span></code><code><span class="code-snippet_outer">__text:00000001052F994C FC 6F 51 A9 LDP             X28, X27, [SP,#0x120+var_10]</span></code><code><span class="code-snippet_outer">__text:00000001052F9950 FF C3 04 91 ADD             SP, SP, #0x130</span></code><code><span class="code-snippet_outer">__text:00000001052F9954 C0 03 5F D6 RET</span></code><code><span class="code-snippet_outer">__text:00000001052F9958   </span></code><code><span class="code-snippet_outer">__text:00000001052F9958</span></code><code><span class="code-snippet_outer">__text:00000001052F9958             loc_1052F9958  </span></code><code><span class="code-snippet_outer">__text:00000001052F9958 8F C2 43 94 BL              ___stack_chk_fail</span></code><code><span class="code-snippet_outer">__text:00000001052F9958             ; End of function Rc4Enc_sub_10310D848</span></code><code><span class="code-snippet_outer">__text:00000001052F9958</span></code><code><span class="code-snippet_outer">__text:00000001052F9958         </span></code><code><span class="code-snippet_outer">__text:00000001052F995C             ; id __cdecl +[SAKDFPIDTimeStamp sharedManager](id, SEL)</span></code><code><span class="code-snippet_outer">__text:00000001052F995C FF 03 01 D1 __SAKDFPIDTimeStamp_sharedManager_ DCD 0xD10103FF</span></code><code><span class="code-snippet_outer">__text:00000001052F995C                                                    </span></code><code><span class="code-snippet_outer">__text:00000001052F9960 E0 FB 01 A9+DCQ 0x94000005A901FBE0, 0x7B1CA1F15A7EA9B6, 0xD5B672DB5B30C29E</span></code><code><span class="code-snippet_outer">__text:00000001052F9978</span></code><code><span class="code-snippet_outer">__text:00000001052F9978         </span></code><code><span class="code-snippet_outer">__text:00000001052F9978</span></code><code><span class="code-snippet_outer">__text:00000001052F9978</span></code><code><span class="code-snippet_outer">__text:00000001052F9978             sub_1052F9978</span></code><code><span class="code-snippet_outer">__text:00000001052F9978 80 01 00 10 ADR             X0, qword_1052F99A8</span></code><code><span class="code-snippet_outer">__text:00000001052F997C FE 03 00 AA MOV             X30, X0</span></code><code><span class="code-snippet_outer">__text:00000001052F9980 FF 03 01 91 ADD             SP, SP, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">__text:00000001052F9984 C0 03 5F D6 RET</span></code><code><span class="code-snippet_outer">__text:00000001052F9984             ; End of function sub_1052F9978</span></code><code><span class="code-snippet_outer">__text:00000001052F9984</span></code><code><span class="code-snippet_outer">__text:00000001052F9984            </span></code><code><span class="code-snippet_outer">__text:00000001052F9988 3A E6 C9 EB+DCQ 0x9154F1ADEBC9E63A, 0x8279F50529021640, 0xEF7B3AB1903E210A, 0xC58C700A3623B980</span></code><code><span class="code-snippet_outer">__text:00000001052F99A8 E0 FB 7D A9+qword_1052F99A8 DCQ 0xA93B7BE0A97DFBE0, 0xD2800020180000C0, 0x9400000314000006, 0x72C5000014BC</span></code><code><span class="code-snippet_outer">__text:00000001052F99A8 E0 7B 3B A9+                                        ; DATA XREF: sub_1052F9978↑o</span></code><code><span class="code-snippet_outer">__text:00000001052F99C8 03 00 00 00 DCD 3</span></code><code><span class="code-snippet_outer">__text:00000001052F99CC CB 00 00 00 DCD 0xCB</span></code><code><span class="code-snippet_outer">__text:00000001052F99D0 EE 49 FF 97+DCQ 0x4C97FF49EE, 0x4400000010, 0xA97B7BE091000000, 0xF944D508B000F1C8</span></code><code><span class="code-snippet_outer">__text:00000001052F99D0 4C 00 00 00+DCQ 0xA93B7BE0B100051F, 0xA93B7BE0540001C1, 0xD280004018000080, 0x9400000117FFFFF2</span></code><code><span class="code-snippet_outer">__text:00000001052F99D0 10 00 00 00+DCQ 0x8A00000005, 0xA93B7BE0A97B7BE0, 0xB000F1C8A97B7BE0, 0x1443C6BFF944D100</span></code><code><span class="code-snippet_outer">__text:00000001052F99D0 44 00 00 00+DCQ 0x910003FDA9BF7BFD, 0x9126A000B000F1C0, 0x9138A0219000BE21, 0xA8C17BFD9443C367</span></code><code><span class="code-snippet_outer">__text:00000001052F99D0 00 00 00 91+DCQ 0x18000100A93B7BE0, 0x17FFFFDDD2800000, 0x65DA94000005, 0x8CBA00003503</span></code><code><span class="code-snippet_outer">__text:00000001052F99D0 E0 7B 7B A9+DCQ 0xB7AE</span></code><code><span class="code-snippet_outer">__text:00000001052F9A78 0E 00 00 00 DCB 0xE, 0, 0, 0</span></code><code><span class="code-snippet_outer">__text:00000001052F9A7C            </span></code><code><span class="code-snippet_outer">__text:00000001052F9A7C</span></code><code><span class="code-snippet_outer">__text:00000001052F9A7C             ; void __cdecl loc_1052F9A7C(id)</span></code><code><span class="code-snippet_outer">__text:00000001052F9A7C             loc_1052F9A7C                           ; DATA XREF: __const:0000000106ABDE28↓o</span></code><code><span class="code-snippet_outer">__text:00000001052F9A7C E0 7B 3F A9 STP             X0, X30, [SP,#-0x10]</span></code><code><span class="code-snippet_outer">__text:00000001052F9A80 0F 00 00 94 BL              sub_1052F9ABC</span></code><code><span class="code-snippet_outer">__text:00000001052F9A84 77 CE 22 D9 STG             X23, [X19,#0x2C0]!</span></code><code><span class="code-snippet_outer">__text:00000001052F9A84           </span></code><code><span class="code-snippet_outer">__text:00000001052F9A88 DD AA 5D 7E+DCQ 0x67FAB5857E5DAADD, 0x636F90947C5C6294, 0x64C3CAEA9D743E2D, 0xF71751CA5B2EBCED</span></code><code><span class="code-snippet_outer">__text:00000001052F9A88 85 B5 FA 67+DCQ 0x294A37644F0A024C, 0xB85C5F3824B80A03</span></code><code><span class="code-snippet_outer">__text:00000001052F9AB8 6F 8E 76 44 DCB 0x6F, 0x8E, 0x76, 0x44</span></code><code><span class="code-snippet_outer">__text:00000001052F9ABC</span></code><code><span class="code-snippet_outer">__text:00000001052F9ABC        </span></code><code><span class="code-snippet_outer">__text:00000001052F9ABC</span></code><code><span class="code-snippet_outer">__text:00000001052F9ABC</span></code><code><span class="code-snippet_outer">__text:00000001052F9ABC             sub_1052F9ABC </span></code><code><span class="code-snippet_outer">__text:00000001052F9ABC 40 01 00 10 ADR             X0, loc_1052F9AE4</span></code><code><span class="code-snippet_outer">__text:00000001052F9AC0 FE 03 00 AA MOV             X30, X0</span></code><code><span class="code-snippet_outer">__text:00000001052F9AC4 C0 03 5F D6 RET</span></code><code><span class="code-snippet_outer">__text:00000001052F9AC4             ; End of function sub_1052F9ABC</span></code><code><span class="code-snippet_outer">__text:00000001052F9AC4</span></code><code><span class="code-snippet_outer">__text:00000001052F9AC4             </span></code><code><span class="code-snippet_outer">__text:00000001052F9AC8 DA 60 A5 84+DCQ 0x87C42B9D84A560DA, 0xFBEA799E68262D89, 0x71110D6F56979F07</span></code><code><span class="code-snippet_outer">__text:00000001052F9AE0             </span></code><code><span class="code-snippet_outer">__text:00000001052F9AE0 24 E1 09 B3 BFXIL           X4, X9, #9, #0x30 ; &#39;0&#39;</span></code><code><span class="code-snippet_outer">__text:00000001052F9AE4</span></code><code><span class="code-snippet_outer">__text:00000001052F9AE4             loc_1052F9AE4                           ; DATA XREF: sub_1052F9ABC↑o</span></code><code><span class="code-snippet_outer">__text:00000001052F9AE4 E0 7B 7F A9 LDP             X0, X30, [SP,#-0x10]</span></code><code><span class="code-snippet_outer">__text:00000001052F9AE8 FD 7B BF A9 STP             X29, X30, [SP,#-0x10]!</span></code><code><span class="code-snippet_outer">__text:00000001052F9AEC FD 03 00 91 MOV             X29, SP</span></code><code><span class="code-snippet_outer">__text:00000001052F9AF0 A8 E9 00 D0 ADRP            X8, #classRef_SAKDFPIDTimeStamp@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052F9AF4 00 29 43 F9 LDR             X0, [X8,#classRef_SAKDFPIDTimeStamp@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052F9AF8 28 E7 00 90 ADRP            X8, #selRef_new@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052F9AFC 01 91 41 F9 LDR             X1, [X8,#selRef_new@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052F9B00 75 C6 43 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:00000001052F9B04 C9 F1 00 B0 ADRP            X9, #qword_1071329A0@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052F9B08 28 D1 44 F9 LDR             X8, [X9,#qword_1071329A0@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052F9B0C 20 D1 04 F9 STR             X0, [X9,#qword_1071329A0@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052F9B10 E0 03 08 AA MOV             X0, X8</span></code><code><span class="code-snippet_outer">__text:00000001052F9B14 FD 7B C1 A8 LDP             X29, X30, [SP],#0x10</span></code><code><span class="code-snippet_outer">__text:00000001052F9B18 7B C6 43 14 B               _objc_release</span></code><code><span class="code-snippet_outer">__text:00000001052F9B1C      </span></code><code><span class="code-snippet_outer">__text:00000001052F9B1C</span></code><code><span class="code-snippet_outer">__text:00000001052F9B1C      </span></code><code><span class="code-snippet_outer">__text:00000001052F9B1C FF 03 01 D1 SUB             SP, SP, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">__text:00000001052F9B20 E0 FB 01 A9 STP             X0, X30, [SP,#0x18]</span></code><code><span class="code-snippet_outer">__text:00000001052F9B24 04 00 00 94 BL              sub_1052F9B34</span></code><code><span class="code-snippet_outer">__text:00000001052F9B24             </span></code><code><span class="code-snippet_outer">__text:00000001052F9B28 DC BD 4D CC+DCQ 0xB1164D88CC4DBDDC</span></code><code><span class="code-snippet_outer">__text:00000001052F9B30 BF 34 C1 37 DCB 0xBF, 0x34, 0xC1, 0x37</span></code><code><span class="code-snippet_outer">__text:00000001052F9B34</span></code><code><span class="code-snippet_outer">__text:00000001052F9B34 </span></code><code><span class="code-snippet_outer">__text:00000001052F9B34</span></code><code><span class="code-snippet_outer">__text:00000001052F9B34</span></code><code><span class="code-snippet_outer">__text:00000001052F9B34             sub_1052F9B34</span></code><code><span class="code-snippet_outer">__text:00000001052F9B34 40 01 00 10 ADR             X0, dword_1052F9B5C</span></code><code><span class="code-snippet_outer">__text:00000001052F9B38 FE 03 00 AA MOV             X30, X0</span></code><code><span class="code-snippet_outer">__text:00000001052F9B3C FF 03 01 91 ADD             SP, SP, #0x40 ; &#39;@&#39;</span></code><code><span class="code-snippet_outer">__text:00000001052F9B40 C0 03 5F D6 RET</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">RC4加密后:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">0000000107C97080  25 F2 BB 8E 4A F9 CA 7C  F7 9A 5F 7D CD 38 67 69  %.............gi</span></code><code><span class="code-snippet_outer">0000000107C97090  2E 4B EF 8D CE E5 F8 58  80 55 D6 0E 5E B3 CB 6A  .K.......U..^...</span></code><code><span class="code-snippet_outer">0000000107C970A0  2A DB 14 AF D7 35 DC A5  ED 02 A8 58 E9 D8 AB 28  *.....ܥ ...X...(</span></code><code><span class="code-snippet_outer">0000000107C970B0  E4 3F F5 08 E9 6A 8D 7F  51 C7 B3 26 4F 8D 0E 42  ........Qǳ &amp;O..B</span></code><code><span class="code-snippet_outer">0000000107C970C0  B2 1C D9 CA 6F 73 C8 06  68 0F 64 30 D1 2B 7E 00  ....os..h.d0..~.</span></code><code><span class="code-snippet_outer">0000000107C970D0  76 A1 25 AB 6A EC D1 FE  67 9A 29 82 A4 44 31 2E  v.%.j...g.)..D1.</span></code><code><span class="code-snippet_outer">0000000107C970E0  14 0B 96 E6 31 81 1F 34  F2 71 AA 86 60 A8 C0 CE  .......4....`...</span></code><code><span class="code-snippet_outer">0000000107C970F0  3D 16 23 83 61 A7 C0 6A  E6 A0 2A A0 7A 6B 1F 42  =.#.a.......zk.B</span></code><code><span class="code-snippet_outer">0000000107C97100  90 30 CC 59 5F 03 7F ED  44 B6 BC 36 B5 0C 97 9D  .0.._......6....</span></code><code><span class="code-snippet_outer">0000000107C97110  82 A0 E4 E6 AB C2 C8 4E  29 F7 55 CA 87 D0 9A 1F  .......N)....К .</span></code><code><span class="code-snippet_outer">0000000107C97120  8E 6D 57 52 00 68 BF 1F  62 D8 DD 67 E4 00 00 00  .mWR.h..b..g....</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">Base64加密:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">JfK7jkr5ynz3ml99zThnaS5L743O5fhYgFXWDl6zy2oq2xSv1zXcpe0CqFjp2Kso5D/1COlqjX9Rx7MmT40OQrIc2cpvc8gGaA9kMNErfgB2oSWrauzR/meaKYKkRDEuFAuW5jGBHzTycaqGYKjAzj0WI4Nhp8Bq5qAqoHprH0KQMMxZXwN/7US2vDa1DJedgqDk5qvCyE4p91XKh9CaH45tV1IAaL8fYtjdZ+Q=</span></code></pre></section><p><br/></p><h4 data-source-line="1297" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">5.3、获取本地XID</span></h4><p data-source-line="1298" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">判断本地是否有存储，如果有优先读取本地，如果本地没有存储就生成一个,详细逻辑在设备指纹一节中再细说。</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">__text:00000001052E2E58 E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052E2E5C F4 4F BE A9 STP             X20, X19, [SP,#-0x20]!</span></code><code><span class="code-snippet_outer">__text:00000001052E2E60 FD 7B 01 A9 STP             X29, X30, [SP,#0x10]</span></code><code><span class="code-snippet_outer">__text:00000001052E2E64 FD 43 00 91 ADD             X29, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:00000001052E2E68 88 F2 00 90+ADRL            X8, unk_1071328EC</span></code><code><span class="code-snippet_outer">__text:00000001052E2E68 08 B1 23 91</span></code><code><span class="code-snippet_outer">__text:00000001052E2E70 1F FD DF 88 LDAR            WZR, [X8]</span></code><code><span class="code-snippet_outer">__text:00000001052E2E74 E9 03 00 32 MOV             W9, #1</span></code><code><span class="code-snippet_outer">__text:00000001052E2E78 09 FD 9F 88 STLR            W9, [X8]</span></code><code><span class="code-snippet_outer">__text:00000001052E2E7C 48 EA 00 90 ADRP            X8, #classRef_SAKGuardDeviceFingerprint@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052E2E80 00 7D 45 F9 LDR             X0, [X8,#classRef_SAKGuardDeviceFingerprint@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052E2E84 68 E9 00 90 ADRP            X8, #selRef_getFingerprintXID@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052E2E88 01 25 45 F9 LDR             X1, [X8,#selRef_getFingerprintXID@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052E2E8C 92 21 44 94 BL              _objc_msgSend           ; 计取本地</span></code><code><span class="code-snippet_outer">__text:00000001052E2E90 F3 03 00 AA MOV             X19, X0</span></code><code><span class="code-snippet_outer">__text:00000001052E2E94 FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:00000001052E2E98 A7 21 44 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:00000001052E2E9C 48 EA 00 90 ADRP            X8, #classRef_NSString@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052E2EA0 00 A9 41 F9 LDR             X0, [X8,#classRef_NSString@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052E2EA4 68 E9 00 90 ADRP            X8, #selRef_isNil_@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052E2EA8 01 21 45 F9 LDR             X1, [X8,#selRef_isNil_@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052E2EAC E2 03 13 AA MOV             X2, X19</span></code><code><span class="code-snippet_outer">__text:00000001052E2EB0 89 21 44 94 BL              _objc_msgSend           ; 判断是否为空</span></code><code><span class="code-snippet_outer">__text:00000001052E2EB4 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052E2EB8 1F 00 00 72 TST             W0, #1</span></code><code><span class="code-snippet_outer">__text:00000001052E2EBC E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052E2EC0 A0 FA FF 54 B.EQ            loc_1052E2E14</span></code><code><span class="code-snippet_outer">__text:00000001052E2EC4 54 C1 00 D0+ADRL            X20, stru_106B0C488</span></code><code><span class="code-snippet_outer">__text:00000001052E2EC4 94 22 12 91</span></code><code><span class="code-snippet_outer">__text:00000001052E2ECC E0 03 14 AA MOV             X0, X20</span></code><code><span class="code-snippet_outer">__text:00000001052E2ED0 90 21 44 94 BL              _objc_retain</span></code><code><span class="code-snippet_outer">__text:00000001052E2ED4 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052E2ED8 00 00 80 D2 MOV             X0, #0</span></code><code><span class="code-snippet_outer">__text:00000001052E2EDC CA FF FF 17 B               loc_1052E2E04</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">如果是第一次运行APP或本地没有存储时就本地生成XID：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">-[SAKGuardDeviceFingerprint generateLocalXID]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">本地存储获取到的xid:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">mw0bruZSgWId6ew08pp0a3d2Vpfq1fcZfyJrTVmk89oqGNr5754r2zbh6YfpvQ4CijQe+0LfaB+WbyR9njkTQ8iCiFQzqg8rh18j7EntWdk=</span></code></pre></section><p><br/></p><h4 data-source-line="1344" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">5.4、获取dfpid</span></h4><p data-source-line="1345" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">同样也是如果也是判断本地是否有存储，如果有优先读取本地，如果本地没有存储就生成一个</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">+[SAKGuardDeviceFingerprint getFingerprintID]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">__text:000000010530E17C E8 03 00 32 MOV             W8, #1</span></code><code><span class="code-snippet_outer">__text:000000010530E180 68 FE 9F 88 STLR            W8, [X19]</span></code><code><span class="code-snippet_outer">__text:000000010530E184 FB E8 00 90 ADRP            X27, #classRef_SAKGuardDeviceFingerprint@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010530E188 60 7F 45 F9 LDR             X0, [X27,#classRef_SAKGuardDeviceFingerprint@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010530E18C 88 E6 00 90 ADRP            X8, #selRef_sharedInstance@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010530E190 13 D9 45 F9 LDR             X19, [X8,#selRef_sharedInstance@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010530E194 E1 03 13 AA MOV             X1, X19</span></code><code><span class="code-snippet_outer">__text:000000010530E198 CF 74 43 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010530E19C F4 03 00 AA MOV             X20, X0</span></code><code><span class="code-snippet_outer">__text:000000010530E1A0 FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010530E1A4 E4 74 43 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010530E1A8 08 E8 00 90 ADRP            X8, #selRef_static_dfpID@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010530E1AC 01 FD 45 F9 LDR             X1, [X8,#selRef_static_dfpID@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010530E1B0 C9 74 43 94 BL              _objc_msgSend           ; 读取dfpid</span></code><code><span class="code-snippet_outer">__text:000000010530E1B4 F5 03 00 AA MOV             X21, X0</span></code><code><span class="code-snippet_outer">__text:000000010530E1B8 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010530E1BC FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010530E1C0 E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:000000010530E1C4 DC 74 43 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010530E1C8 E0 03 14 AA MOV             X0, X20</span></code><code><span class="code-snippet_outer">__text:000000010530E1CC CE 74 43 94 BL              _objc_release</span></code><code><span class="code-snippet_outer">__text:000000010530E1D0 68 E6 00 D0 ADRP            X8, #selRef_isEqual_@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010530E1D4 01 15 43 F9 LDR             X1, [X8,#selRef_isEqual_@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010530E1D8 F6 03 15 AA MOV             X22, X21</span></code><code><span class="code-snippet_outer">__text:000000010530E1DC 82 ED 00 F0+ADRL            X2, cfstr_R_5           ; &#34;r!\x83Rn2\x8C&#34;</span></code><code><span class="code-snippet_outer">__text:000000010530E1DC 42 80 14 91</span></code><code><span class="code-snippet_outer">__text:000000010530E1E4 E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:000000010530E1E8 BB 74 43 94 BL              _objc_msgSend           ; 判断是否为空</span></code><code><span class="code-snippet_outer">__text:000000010530E1EC E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010530E1F0 1F 00 00 72 TST             W0, #1</span></code><code><span class="code-snippet_outer">__text:000000010530E1F4 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010530E1F8 41 19 00 54 B.NE            loc_10530E520</span></code><code><span class="code-snippet_outer">__text:000000010530E1FC 68 E6 00 B0 ADRP            X8, #selRef_length@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010530E200 01 C1 47 F9 LDR             X1, [X8,#selRef_length@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010530E204 F6 03 15 AA MOV             X22, X21</span></code><code><span class="code-snippet_outer">__text:000000010530E208 E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:000000010530E20C B2 74 43 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010530E210 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010530E214 F6 03 15 AA MOV             X22, X21</span></code><code><span class="code-snippet_outer">__text:000000010530E218 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010530E21C 40 0A 00 B5 CBNZ            X0, loc_10530E364</span></code><code><span class="code-snippet_outer">__text:000000010530E220 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010530E224 A0 00 00 18 LDR             W0, =9</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">如果是第一次运行APP或本地没有存储时就本地生成dfpid：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">+[SAKGuardLocalIDKeychainStorage generateLocalID]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">本地存储获取到的dfpid:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">dad72f7de813ef8dfd0bbd58f3a775dacf5121ec1a2552173a0e314b</span></code></pre></section><p><br/></p><h4 data-source-line="1401" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">5.5、获取系统风险</span></h4><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;0&#34;: 2,</span></code><code><span class="code-snippet_outer">  &#34;1&#34;: [&#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;],</span></code><code><span class="code-snippet_outer">  &#34;2&#34;: [&#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;],</span></code><code><span class="code-snippet_outer">  &#34;3&#34;: &#34;{}&#34;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">压缩json</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">0000000283F81500  78 9C AB 56 32 50 B2 32  D2 51 32 54 B2 8A 56 D2  x..V2P.2..2T..V.</span></code><code><span class="code-snippet_outer">0000000283F81510  55 D2 A1 00 C7 EA 28 19  51 C5 14 63 25 2B A5 EA  Uҡ ...(.Q..c%+..</span></code><code><span class="code-snippet_outer">0000000283F81520  5A A5 5A 00 EE 45 1A 61  00 00 00 00 00 00 00 00  Z.Z....a........</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密解析pic获取加密key(k6)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">X%rj@KiuU+|xY}?f</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算压缩后数据的crc值:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:00000001052CC27C E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052CC280 E8 03 01 2A MOV             W8, W1</span></code><code><span class="code-snippet_outer">__text:00000001052CC284 09 00 80 12 MOV             W9, #0xFFFFFFFF</span></code><code><span class="code-snippet_outer">__text:00000001052CC288 4A 8C 00 D0+ADRL            X10, unk_1064565CC</span></code><code><span class="code-snippet_outer">__text:00000001052CC288 4A 31 17 91</span></code><code><span class="code-snippet_outer">__text:00000001052CC290 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052CC294</span></code><code><span class="code-snippet_outer">__text:00000001052CC294             loc_1052CC294  </span></code><code><span class="code-snippet_outer">__text:00000001052CC294 0B 14 40 38 LDRB            W11, [X0],#1            ; 取压缩后的数据</span></code><code><span class="code-snippet_outer">__text:00000001052CC298 2C 1D 00 12 AND             W12, W9, #0xFF</span></code><code><span class="code-snippet_outer">__text:00000001052CC29C 8B 01 0B 4A EOR             W11, W12, W11</span></code><code><span class="code-snippet_outer">__text:00000001052CC2A0 4B 59 6B B8 LDR             W11, [X10,W11,UXTW#2]</span></code><code><span class="code-snippet_outer">__text:00000001052CC2A4 69 21 49 4A EOR             W9, W11, W9,LSR#8       ; 计算</span></code><code><span class="code-snippet_outer">__text:00000001052CC2A8 08 05 00 F1 SUBS            X8, X8, #1</span></code><code><span class="code-snippet_outer">__text:00000001052CC2AC E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052CC2B0 21 FF FF 54 B.NE            loc_1052CC294           ; 取压缩后的数据</span></code><code><span class="code-snippet_outer">__text:00000001052CC2B4 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052CC2B8 60 00 00 18 LDR             W0, =0</span></code><code><span class="code-snippet_outer">__text:00000001052CC2BC DC FF FF 17 B               loc_1052CC22C</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算后得到:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">73bbf8c5</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">取PIC中获到的值(k6)后8字节与crc值组合做为AES KEY:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">000000016B707800  55 2B 7C 78 59 7D 3F 66  00 00 00 00 00 00 00 00  U+|xY}?f</span></code><code><span class="code-snippet_outer">73bbf8c5U+|xY}?f</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">AES加密压缩后的数据:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">IV 0102030405060708</span></code><code><span class="code-snippet_outer">KEY 73bbf8c5U+|xY}?f</span></code><code><span class="code-snippet_outer">__text:00000001052EEA08 E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052EEA0C E0 43 00 91 ADD             X0, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:00000001052EEA10 82 1E 80 52 MOV             W2, #0xF4</span></code><code><span class="code-snippet_outer">__text:00000001052EEA14 01 00 80 52 MOV             W1, #0</span></code><code><span class="code-snippet_outer">__text:00000001052EEA18 2B F2 43 94 BL              _memset</span></code><code><span class="code-snippet_outer">__text:00000001052EEA1C E1 03 19 32 MOV             W1, #0x80</span></code><code><span class="code-snippet_outer">__text:00000001052EEA20 E2 43 00 91 ADD             X2, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:00000001052EEA24 E0 03 17 AA MOV             X0, X23</span></code><code><span class="code-snippet_outer">__text:00000001052EEA28 1A 51 FF 97 BL              InitKey_sub_102CBEE90   ; x0:key,x1:长度,x2:初始化后的key</span></code><code><span class="code-snippet_outer">__text:00000001052EEA2C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052EEA30 E2 07 40 F9 LDR             X2, [SP,#8]</span></code><code><span class="code-snippet_outer">__text:00000001052EEA34 E3 43 00 91 ADD             X3, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:00000001052EEA38 E5 03 00 32 MOV             W5, #1</span></code><code><span class="code-snippet_outer">__text:00000001052EEA3C E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:00000001052EEA40 E1 03 13 AA MOV             X1, X19</span></code><code><span class="code-snippet_outer">__text:00000001052EEA44 E4 03 16 AA MOV             X4, X22</span></code><code><span class="code-snippet_outer">__text:00000001052EEA48 3A 54 FF 97 BL              Aes_Enc_Dec_sub_102CBFB30 ; X0:原始数据,X1:初始化后的key,x2:大小,x3:key,X4:IV,X5:模式:0:解密,1:加密</span></code><code><span class="code-snippet_outer">__text:00000001052EEA4C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052EEA50 E8 07 40 F9 LDR             X8, [SP,#8]</span></code><code><span class="code-snippet_outer">__text:00000001052EEA54 88 02 00 F9 STR             X8, [X20]</span></code><code><span class="code-snippet_outer">__text:00000001052EEA58 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">加密后:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">0000000280D20750  F7 7A 2E 6A 76 E2 C9 B4  70 F0 62 3B 07 62 91 D7  ....v...p....b..</span></code><code><span class="code-snippet_outer">0000000280D20760  BF 58 DF A6 69 1A D1 0E  0F DE 6A 87 34 00 B8 62  .Xߦ i.......4..b</span></code><code><span class="code-snippet_outer">0000000280D20770  AE DA CA 15 9F 12 62 7F  D2 7B B0 D1 BC FA E9 45  ......b....Ѽ ...</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">base64加密与crc值组合:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">73bbf8c593ouanbiybRw8GI7B2KR179Y36ZpGtEOD95qhzQAuGKu2soVnxJif9J7sNG8+ulF //前8字节为上面计算的crc值</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">第一次组合签名json，还差计算a2值:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;a0&#34;: &#34;2.0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a1&#34;: &#34;6d1efb41-1bb2-4db1-88ee-b89d21d06e5f&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a3&#34;: 0,</span></code><code><span class="code-snippet_outer">  &#34;a4&#34;: 1635653901,</span></code><code><span class="code-snippet_outer">  &#34;a5&#34;: &#34;JfK7jkr5ynz3ml99zThnaS5L743O5fhYgFXWDl6zy2oq2xSv1zXcpe0CqFjp2Kso5D/1COlqjX9Rx7MmT40OQrIc2cpvc8gGaA9kMNErfgB2oSWrauzR/meaKYKkRDEuFAuW5jGBHzTycaqGYKjAzj0WI4Nhp8Bq5qAqoHprH0KQMMxZXwN/7US2vDa1DJedgqDk5qvCyE4p91XKh9CaH45tV1IAaL8fYtjdZ+Q=&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a6&#34;: 0,</span></code><code><span class="code-snippet_outer">  &#34;a7&#34;: &#34;mw0bruZSgWId6ew08pp0a3d2Vpfq1fcZfyJrTVmk89oqGNr5754r2zbh6YfpvQ4CijQe+0LfaB+WbyR9njkTQ8iCiFQzqg8rh18j7EntWdk=&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a8&#34;: &#34;dad72f7de813ef8dfd0bbd58f3a775dacf5121ec1a2552173a0e314b&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a9&#34;: &#34;73bbf8c593ouanbiybRw8GI7B2KR179Y36ZpGtEOD95qhzQAuGKu2soVnxJif9J7sNG8+ulF&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a10&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;x0&#34;: 2</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><br/></p><h4 data-source-line="1505" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">5.6、计算请求体签名</span></h4><p data-source-line="1506" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">获取请求体，与上面组合的json签名拼接在一起计算签名</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">__text:00000001052DC014 E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052DC018 E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:00000001052DC01C A1 83 59 F8 LDUR            X1, [X29,#-0x68]</span></code><code><span class="code-snippet_outer">__text:00000001052DC020 E2 03 1C AA MOV             X2, X28</span></code><code><span class="code-snippet_outer">__text:00000001052DC024 64 F1 FF 97 BL              copyData_sub_102CD45B4  ; 拷贝请求体</span></code><code><span class="code-snippet_outer">__text:00000001052DC028 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052DC02C 20 03 1C 8B ADD             X0, X25, X28</span></code><code><span class="code-snippet_outer">__text:00000001052DC030 A1 0B 7A A9 LDP             X1, X2, [X29,#-0x60]</span></code><code><span class="code-snippet_outer">__text:00000001052DC034 60 F1 FF 97 BL              copyData_sub_102CD45B4  ; 拷贝签名值与请求体组合</span></code><code><span class="code-snippet_outer">__text:00000001052DC038 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001052DC03C E8 03 14 AA MOV             X8, X20</span></code><code><span class="code-snippet_outer">__text:00000001052DC040 E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:00000001052DC044 A1 83 58 F8 LDUR            X1, [X29,#-0x78]</span></code><code><span class="code-snippet_outer">__text:00000001052DC048 E2 03 16 AA MOV             X2, X22</span></code><code><span class="code-snippet_outer">__text:00000001052DC04C AC DC 01 94 BL              GenBodyMtsig_loc_1030332FC ; x0:原始数据,x1:大小</span></code><code><span class="code-snippet_outer">__text:00000001052DC050 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">组合后的请求体</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">00000001080B5600  50 4F 53 54 20 2F 61 70  70 75 70 64 61 74 65 2F  POST /appupdate/</span></code><code><span class="code-snippet_outer">00000001080B5610  61 6C 69 74 61 2F 63 68  65 63 6B 55 70 64 61 74  alita/checkUpdat</span></code><code><span class="code-snippet_outer">00000001080B5620  65 20 5F 5F 72 65 71 54  72 61 63 65 49 44 3D 46  e __reqTraceID=F</span></code><code><span class="code-snippet_outer">00000001080B5630  38 33 31 30 34 37 32 2D  31 38 37 45 2D 34 34 44  8310472-187E-44D</span></code><code><span class="code-snippet_outer">00000001080B5640  34 2D 39 46 37 33 2D 33  31 36 32 34 30 46 30 39  4-9F73-316240F09</span></code><code><span class="code-snippet_outer">00000001080B5650  38 41 30 26 63 69 3D 32  26 6C 61 6E 67 75 61 67  8A0&amp;ci=2&amp;languag</span></code><code><span class="code-snippet_outer">00000001080B5660  65 3D 7A 68 5F 43 4E 26  75 74 6D 5F 63 61 6D 70  e=zh_CN&amp;utm_camp</span></code><code><span class="code-snippet_outer">00000001080B5670  61 69 67 6E 3D 41 69 6D  61 69 63 61 69 5F 63 42  aign=Aimaicai_cB</span></code><code><span class="code-snippet_outer">00000001080B5680  69 6D 61 69 63 61 69 5F  63 48 30 26 75 74 6D 5F  imaicai_cH0&amp;utm_</span></code><code><span class="code-snippet_outer">00000001080B5690  63 6F 6E 74 65 6E 74 3D  30 30 30 30 30 30 30 30  content=00000000</span></code><code><span class="code-snippet_outer">00000001080B56A0  30 30 30 30 30 32 31 38  38 37 45 34 41 39 46 34  0000021887E4A9F4</span></code><code><span class="code-snippet_outer">00000001080B56B0  39 34 41 39 41 41 38 32  45 39 43 38 37 38 32 39  94A9AA82E9C87829</span></code><code><span class="code-snippet_outer">00000001080B56C0  45 43 46 46 37 41 31 36  33 33 37 39 32 30 30 38  ECFF7A1633792008</span></code><code><span class="code-snippet_outer">00000001080B56D0  32 37 37 36 38 32 32 38  26 75 74 6D 5F 6D 65 64  27768228&amp;utm_med</span></code><code><span class="code-snippet_outer">00000001080B56E0  69 75 6D 3D 69 70 68 6F  6E 65 26 75 74 6D 5F 73  ium=iphone&amp;utm_s</span></code><code><span class="code-snippet_outer">00000001080B56F0  6F 75 72 63 65 3D 41 70  70 53 74 6F 72 65 26 75  ource=AppStore&amp;u</span></code><code><span class="code-snippet_outer">00000001080B5700  74 6D 5F 74 65 72 6D 3D  35 2E 32 35 2E 30 26 75  tm_term=5.25.0&amp;u</span></code><code><span class="code-snippet_outer">00000001080B5710  75 69 64 3D 30 30 30 30  30 30 30 30 30 30 30 30  uid=000000000000</span></code><code><span class="code-snippet_outer">00000001080B5720  30 32 31 38 38 37 45 34  41 39 46 34 39 34 41 39  021887E4A9F494A9</span></code><code><span class="code-snippet_outer">00000001080B5730  41 41 38 32 45 39 43 38  37 38 32 39 45 43 46 46  AA82E9C87829ECFF</span></code><code><span class="code-snippet_outer">00000001080B5740  37 41 31 36 33 33 37 39  32 30 30 38 32 37 37 36  7A16337920082776</span></code><code><span class="code-snippet_outer">00000001080B5750  38 32 32 38 26 76 65 72  73 69 6F 6E 5F 6E 61 6D  8228&amp;version_nam</span></code><code><span class="code-snippet_outer">00000001080B5760  65 3D 35 2E 32 35 2E 30  7B 22 63 68 61 6E 6E 65  e=5.25.0{&#34;channe</span></code><code><span class="code-snippet_outer">00000001080B5770  6C 22 3A 22 41 70 70 53  74 6F 72 65 22 2C 22 61  l&#34;:&#34;AppStore&#34;,&#34;a</span></code><code><span class="code-snippet_outer">00000001080B5780  70 70 56 65 72 73 69 6F  6E 22 3A 22 35 30 30 32  ppVersion&#34;:&#34;5002</span></code><code><span class="code-snippet_outer">00000001080B5790  35 30 30 30 30 22 2C 22  61 70 70 22 3A 22 69 6D  50000&#34;,&#34;app&#34;:&#34;im</span></code><code><span class="code-snippet_outer">00000001080B57A0  61 69 63 61 69 22 2C 22  62 75 6E 64 6C 65 73 22  aicai&#34;,&#34;bundles&#34;</span></code><code><span class="code-snippet_outer">00000001080B57B0  3A 5B 5D 2C 22 66 69 6E  67 65 72 70 72 69 6E 74  :[],&#34;fingerprint</span></code><code><span class="code-snippet_outer">00000001080B57C0  22 3A 22 4D 65 70 68 69  73 74 6F 22 2C 22 73 64  &#34;:&#34;Mephisto&#34;,&#34;sd</span></code><code><span class="code-snippet_outer">00000001080B57D0  6B 56 65 72 73 69 6F 6E  22 3A 22 31 2E 30 2E 30  kVersion&#34;:&#34;1.0.0</span></code><code><span class="code-snippet_outer">00000001080B57E0  22 2C 22 70 6C 61 74 66  6F 72 6D 22 3A 22 69 4F  &#34;,&#34;platform&#34;:&#34;iO</span></code><code><span class="code-snippet_outer">00000001080B57F0  53 22 7D 7B 22 61 30 22  3A 22 32 2E 30 22 2C 22  S&#34;}{&#34;a0&#34;:&#34;2.0&#34;,&#34;</span></code><code><span class="code-snippet_outer">00000001080B5800  61 31 22 3A 22 36 64 31  65 66 62 34 31 2D 31 62  a1&#34;:&#34;6d1efb41-1b</span></code><code><span class="code-snippet_outer">00000001080B5810  62 32 2D 34 64 62 31 2D  38 38 65 65 2D 62 38 39  b2-4db1-88ee-b89</span></code><code><span class="code-snippet_outer">00000001080B5820  64 32 31 64 30 36 65 35  66 22 2C 22 61 33 22 3A  d21d06e5f&#34;,&#34;a3&#34;:</span></code><code><span class="code-snippet_outer">00000001080B5830  30 2C 22 61 34 22 3A 31  36 33 35 36 35 33 39 30  0,&#34;a4&#34;:163565390</span></code><code><span class="code-snippet_outer">00000001080B5840  31 2C 22 61 35 22 3A 22  4A 66 4B 37 6A 6B 72 35  1,&#34;a5&#34;:&#34;JfK7jkr5</span></code><code><span class="code-snippet_outer">00000001080B5850  79 6E 7A 33 6D 6C 39 39  7A 54 68 6E 61 53 35 4C  ynz3ml99zThnaS5L</span></code><code><span class="code-snippet_outer">00000001080B5860  37 34 33 4F 35 66 68 59  67 46 58 57 44 6C 36 7A  743O5fhYgFXWDl6z</span></code><code><span class="code-snippet_outer">00000001080B5870  79 32 6F 71 32 78 53 76  31 7A 58 63 70 65 30 43  y2oq2xSv1zXcpe0C</span></code><code><span class="code-snippet_outer">00000001080B5880  71 46 6A 70 32 4B 73 6F  35 44 2F 31 43 4F 6C 71  qFjp2Kso5D/1COlq</span></code><code><span class="code-snippet_outer">00000001080B5890  6A 58 39 52 78 37 4D 6D  54 34 30 4F 51 72 49 63  jX9Rx7MmT40OQrIc</span></code><code><span class="code-snippet_outer">00000001080B58A0  32 63 70 76 63 38 67 47  61 41 39 6B 4D 4E 45 72  2cpvc8gGaA9kMNEr</span></code><code><span class="code-snippet_outer">00000001080B58B0  66 67 42 32 6F 53 57 72  61 75 7A 52 2F 6D 65 61  fgB2oSWrauzR/mea</span></code><code><span class="code-snippet_outer">00000001080B58C0  4B 59 4B 6B 52 44 45 75  46 41 75 57 35 6A 47 42  KYKkRDEuFAuW5jGB</span></code><code><span class="code-snippet_outer">00000001080B58D0  48 7A 54 79 63 61 71 47  59 4B 6A 41 7A 6A 30 57  HzTycaqGYKjAzj0W</span></code><code><span class="code-snippet_outer">00000001080B58E0  49 34 4E 68 70 38 42 71  35 71 41 71 6F 48 70 72  I4Nhp8Bq5qAqoHpr</span></code><code><span class="code-snippet_outer">00000001080B58F0  48 30 4B 51 4D 4D 78 5A  58 77 4E 2F 37 55 53 32  H0KQMMxZXwN/7US2</span></code><code><span class="code-snippet_outer">00000001080B5900  76 44 61 31 44 4A 65 64  67 71 44 6B 35 71 76 43  vDa1DJedgqDk5qvC</span></code><code><span class="code-snippet_outer">00000001080B5910  79 45 34 70 39 31 58 4B  68 39 43 61 48 34 35 74  yE4p91XKh9CaH45t</span></code><code><span class="code-snippet_outer">00000001080B5920  56 31 49 41 61 4C 38 66  59 74 6A 64 5A 2B 51 3D  V1IAaL8fYtjdZ+Q=</span></code><code><span class="code-snippet_outer">00000001080B5930  22 2C 22 61 36 22 3A 30  2C 22 61 37 22 3A 22 6D  &#34;,&#34;a6&#34;:0,&#34;a7&#34;:&#34;m</span></code><code><span class="code-snippet_outer">00000001080B5940  77 30 62 72 75 5A 53 67  57 49 64 36 65 77 30 38  w0bruZSgWId6ew08</span></code><code><span class="code-snippet_outer">00000001080B5950  70 70 30 61 33 64 32 56  70 66 71 31 66 63 5A 66  pp0a3d2Vpfq1fcZf</span></code><code><span class="code-snippet_outer">00000001080B5960  79 4A 72 54 56 6D 6B 38  39 6F 71 47 4E 72 35 37  yJrTVmk89oqGNr57</span></code><code><span class="code-snippet_outer">00000001080B5970  35 34 72 32 7A 62 68 36  59 66 70 76 51 34 43 69  54r2zbh6YfpvQ4Ci</span></code><code><span class="code-snippet_outer">00000001080B5980  6A 51 65 2B 30 4C 66 61  42 2B 57 62 79 52 39 6E  jQe+0LfaB+WbyR9n</span></code><code><span class="code-snippet_outer">00000001080B5990  6A 6B 54 51 38 69 43 69  46 51 7A 71 67 38 72 68  jkTQ8iCiFQzqg8rh</span></code><code><span class="code-snippet_outer">00000001080B59A0  31 38 6A 37 45 6E 74 57  64 6B 3D 22 2C 22 61 38  18j7EntWdk=&#34;,&#34;a8</span></code><code><span class="code-snippet_outer">00000001080B59B0  22 3A 22 64 61 64 37 32  66 37 64 65 38 31 33 65  &#34;:&#34;dad72f7de813e</span></code><code><span class="code-snippet_outer">00000001080B59C0  66 38 64 66 64 30 62 62  64 35 38 66 33 61 37 37  f8dfd0bbd58f3a77</span></code><code><span class="code-snippet_outer">00000001080B59D0  35 64 61 63 66 35 31 32  31 65 63 31 61 32 35 35  5dacf5121ec1a255</span></code><code><span class="code-snippet_outer">00000001080B59E0  32 31 37 33 61 30 65 33  31 34 62 22 2C 22 61 39  2173a0e314b&#34;,&#34;a9</span></code><code><span class="code-snippet_outer">00000001080B59F0  22 3A 22 37 33 62 62 66  38 63 35 39 33 6F 75 61  &#34;:&#34;73bbf8c593oua</span></code><code><span class="code-snippet_outer">00000001080B5A00  6E 62 69 79 62 52 77 38  47 49 37 42 32 4B 52 31  nbiybRw8GI7B2KR1</span></code><code><span class="code-snippet_outer">00000001080B5A10  37 39 59 33 36 5A 70 47  74 45 4F 44 39 35 71 68  79Y36ZpGtEOD95qh</span></code><code><span class="code-snippet_outer">00000001080B5A20  7A 51 41 75 47 4B 75 32  73 6F 56 6E 78 4A 69 66  zQAuGKu2soVnxJif</span></code><code><span class="code-snippet_outer">00000001080B5A30  39 4A 37 73 4E 47 38 2B  75 6C 46 22 2C 22 61 31  9J7sNG8+ulF&#34;,&#34;a1</span></code><code><span class="code-snippet_outer">00000001080B5A40  30 22 3A 22 22 2C 22 78  30 22 3A 32 7D 20 31 37  0&#34;:&#34;&#34;,&#34;x0&#34;:2}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密PIC获取a0值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">sdk9xWZTg5V9nKAxVFB5mB1ipZIJGmYSysreJ1f/rlvXJ7Ydxd3hJRdWb4QdZKr/</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密a0</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">key appkey:6d1efb41-1bb2-4db1-88ee-b89d21d06e5f</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">__text:000000010535363C             DecPic_a0_loc_1051E763C </span></code><code><span class="code-snippet_outer">__text:000000010535363C 09 09 DC 9A UDIV            X9, X8, X28             ; 解密pic a0</span></code><code><span class="code-snippet_outer">__text:0000000105353640 29 A1 1C 9B MSUB            X9, X9, X28, X8</span></code><code><span class="code-snippet_outer">__text:0000000105353644 6A 6A 69 38 LDRB            W10, [X19,X9]           ; appkey 6d1efb41-1bb2-4db1-88ee-b89d21d06e5f</span></code><code><span class="code-snippet_outer">__text:0000000105353648 AB 6A 68 38 LDRB            W11, [X21,X8]           ; PIC a0</span></code><code><span class="code-snippet_outer">__text:000000010535364C 6A 01 0A 4A EOR             W10, W11, W10</span></code><code><span class="code-snippet_outer">__text:0000000105353650 0A 6B 29 38 STRB            W10, [X24,X9]</span></code><code><span class="code-snippet_outer">__text:0000000105353654 08 05 00 91 ADD             X8, X8, #1</span></code><code><span class="code-snippet_outer">__text:0000000105353658 5F 03 08 EB CMP             X26, X8                 ; 判断是否结束</span></code><code><span class="code-snippet_outer">__text:000000010535365C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000105353660 E1 FE FF 54 B.NE            DecPic_a0_loc_1051E763C ; 解密pic a0</span></code><code><span class="code-snippet_outer">__text:0000000105353664 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000105353668 A0 00 00 18 LDR             W0, =0x17</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密后a0</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">0000000280A08750  7C 55 57 4A 14 0E 42 69  67 06 3B 06 4A 49 07 0C  |UWJ..Big.;.JI..</span></code><code><span class="code-snippet_outer">0000000280A08760  28 63 49 6F 5A 51 34 49  38 73 4B 4B 75 5C 3D 63  (cIoZQ4I8sKKu\=c</span></code><code><span class="code-snippet_outer">0000000280A08770  4F 16 47 03</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">再次解密a0分为两组</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">000000016D10C530            20 09  0B 16 48 52 1E 35 3B 5A  66666. ...HR.5;Z</span></code><code><span class="code-snippet_outer">000000016D10C540  67 5A 16 15 5B 50 74 3F  15 33 06 0D 68 15 64 2F  gZ..[Pt?.3..h.d/</span></code><code><span class="code-snippet_outer">000000016D10C550  17 17 29 00 61 3F 13 4A  1B 5F 5C 5C 5C 5C 5C 5C  ..).a?.J._\\\\\\</span></code><code><span class="code-snippet_outer">000000016D10C560  5C 5C 5C 5C 5C 5C 5C 5C  5C 5C 5C 5C 5C 5C 5C 5C  \\\\\\\\\\\\\\\\</span></code><code><span class="code-snippet_outer">000000016D10C570  5C 5C 5C 5C 5C 5C </span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">0000000106B78A00  4A 63 61 7C 22 38 74 5F  51 30 0D 30 7C 7F 31 3A  Jca|&#34;8t_Q0.0|.1:</span></code><code><span class="code-snippet_outer">0000000106B78A10  1E 55 7F 59 6C 67 02 7F  0E 45 7D 7D 43 6A 0B 55  .U.Ylg...E}}Cj.U</span></code><code><span class="code-snippet_outer">0000000106B78A20  79 20 71 35 36 36 36 36  36 36 36 36 36 36 36 36  y q5666666666666</span></code><code><span class="code-snippet_outer">0000000106B78A30  36 36 36 36 36 36 36 36  36 36 36 36 36 36 36 36  6666666666666666</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">将第二次解密后的a0值其中一组与请求体组合</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">00000001089E5A00  4A 63 61 7C 22 38 74 5F  51 30 0D 30 7C 7F 31 3A  Jca|&#34;8t_Q0.0|.1:</span></code><code><span class="code-snippet_outer">00000001089E5A10  1E 55 7F 59 6C 67 02 7F  0E 45 7D 7D 43 6A 0B 55  .U.Ylg...E}}Cj.U</span></code><code><span class="code-snippet_outer">00000001089E5A20  79 20 71 35 36 36 36 36  36 36 36 36 36 36 36 36  y q5666666666666</span></code><code><span class="code-snippet_outer">00000001089E5A30  36 36 36 36 36 36 36 36  36 36 36 36 36 36 36 36  6666666666666666</span></code><code><span class="code-snippet_outer">00000001089E5A40  50 4F 53 54 20 2F 61 70  70 75 70 64 61 74 65 2F  POST /appupdate/</span></code><code><span class="code-snippet_outer">00000001089E5A50  61 6C 69 74 61 2F 63 68  65 63 6B 55 70 64 61 74  alita/checkUpdat</span></code><code><span class="code-snippet_outer">00000001089E5A60  65 20 5F 5F 72 65 71 54  72 61 63 65 49 44 3D 46  e __reqTraceID=F</span></code><code><span class="code-snippet_outer">00000001089E5A70  38 33 31 30 34 37 32 2D  31 38 37 45 2D 34 34 44  8310472-187E-44D</span></code><code><span class="code-snippet_outer">00000001089E5A80  34 2D 39 46 37 33 2D 33  31 36 32 34 30 46 30 39  4-9F73-316240F09</span></code><code><span class="code-snippet_outer">00000001089E5A90  38 41 30 26 63 69 3D 32  26 6C 61 6E 67 75 61 67  8A0&amp;ci=2&amp;languag</span></code><code><span class="code-snippet_outer">00000001089E5AA0  65 3D 7A 68 5F 43 4E 26  75 74 6D 5F 63 61 6D 70  e=zh_CN&amp;utm_camp</span></code><code><span class="code-snippet_outer">00000001089E5AB0  61 69 67 6E 3D 41 69 6D  61 69 63 61 69 5F 63 42  aign=Aimaicai_cB</span></code><code><span class="code-snippet_outer">00000001089E5AC0  69 6D 61 69 63 61 69 5F  63 48 30 26 75 74 6D 5F  imaicai_cH0&amp;utm_</span></code><code><span class="code-snippet_outer">00000001089E5AD0  63 6F 6E 74 65 6E 74 3D  30 30 30 30 30 30 30 30  content=00000000</span></code><code><span class="code-snippet_outer">00000001089E5AE0  30 30 30 30 30 32 31 38  38 37 45 34 41 39 46 34  0000021887E4A9F4</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算hmac值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:00000001052EEEDC             hmac_256_sub_105182EDC   </span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC                               </span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC             __src= -0x81</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC             var_80= -0x80</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC             var_78= -0x78</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC             var_70= -0x70</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC             var_68= -0x68</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC             var_60= -0x60</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC             var_18= -0x18</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC             var_10= -0x10</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC             var_s0=  0</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC</span></code><code><span class="code-snippet_outer">__text:00000001052EEEDC FF 83 02 D1 SUB             SP, SP, #0xA0</span></code><code><span class="code-snippet_outer">__text:00000001052EEEE0 F4 4F 08 A9 STP             X20, X19, [SP,#0x90+var_10]</span></code><code><span class="code-snippet_outer">__text:00000001052EEEE4 FD 7B 09 A9 STP             X29, X30, [SP,#0x90+var_s0]</span></code><code><span class="code-snippet_outer">__text:00000001052EEEE8 FD 43 02 91 ADD             X29, SP, #0x90</span></code><code><span class="code-snippet_outer">__text:00000001052EEEEC F3 03 02 AA MOV             X19, X2</span></code><code><span class="code-snippet_outer">__text:00000001052EEEF0 E8 03 01 AA MOV             X8, X1</span></code><code><span class="code-snippet_outer">__text:00000001052EEEF4 E9 03 00 AA MOV             X9, X0</span></code><code><span class="code-snippet_outer">__text:00000001052EEEF8 CA BC 00 B0 ADRP            X10, #___stack_chk_guard_ptr@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052EEEFC 4A FD 43 F9 LDR             X10, [X10,#___stack_chk_guard_ptr@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF00 4A 01 40 F9 LDR             X10, [X10]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF04 AA 83 1E F8 STUR            X10, [X29,#var_18]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF08 8A 8B 00 90 ADRP            X10, #qword_10645E478@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052EEF0C 40 3D 42 FD LDR             D0, [X10,#qword_10645E478@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF10 E0 0F 00 FD STR             D0, [SP,#0x90+var_78]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF14 1F 20 03 D5 NOP</span></code><code><span class="code-snippet_outer">__text:00000001052EEF18 40 41 42 FD LDR             D0, [X10,#qword_10645E480@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF1C E0 13 00 FD STR             D0, [SP,#0x90+var_70]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF20 FF 33 00 B9 STR             WZR, [SP,#0x90+var_60]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF24 1F 20 03 D5 NOP</span></code><code><span class="code-snippet_outer">__text:00000001052EEF28 40 5D 42 FD LDR             D0, [X10,#qword_10645E4B8@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF2C E0 17 00 FD STR             D0, [SP,#0x90+var_68]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF30 E0 63 00 91 ADD             X0, SP, #0x90+var_78    ; int</span></code><code><span class="code-snippet_outer">__text:00000001052EEF34 E1 03 09 AA MOV             X1, X9                  ; __src</span></code><code><span class="code-snippet_outer">__text:00000001052EEF38 E2 03 08 AA MOV             X2, X8</span></code><code><span class="code-snippet_outer">__text:00000001052EEF3C 39 00 00 94 BL              sub_1052EF020</span></code><code><span class="code-snippet_outer">__text:00000001052EEF40 08 00 80 52 MOV             W8, #0</span></code><code><span class="code-snippet_outer">__text:00000001052EEF44 09 00 80 D2 MOV             X9, #0</span></code><code><span class="code-snippet_outer">__text:00000001052EEF48 EA 43 00 91 ADD             X10, SP, #0x90+var_80</span></code><code><span class="code-snippet_outer">__text:00000001052EEF4C</span></code><code><span class="code-snippet_outer">__text:00000001052EEF4C             loc_1052EEF4C     </span></code><code><span class="code-snippet_outer">__text:00000001052EEF4C 3F 11 00 F1 CMP             X9, #4</span></code><code><span class="code-snippet_outer">__text:00000001052EEF50 EB 27 9F 1A CSET            W11, CC</span></code><code><span class="code-snippet_outer">__text:00000001052EEF54 EC 63 00 91 ADD             X12, SP, #0x90+var_78</span></code><code><span class="code-snippet_outer">__text:00000001052EEF58 6C 01 7E B3 BFI             X12, X11, #2, #1</span></code><code><span class="code-snippet_outer">__text:00000001052EEF5C 8B 15 40 B9 LDR             W11, [X12,#0x14]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF60 EC 03 28 2A MVN             W12, W8</span></code><code><span class="code-snippet_outer">__text:00000001052EEF64 8C 05 1D 12 AND             W12, W12, #0x18</span></code><code><span class="code-snippet_outer">__text:00000001052EEF68 6B 25 CC 1A LSR             W11, W11, W12</span></code><code><span class="code-snippet_outer">__text:00000001052EEF6C 4B 69 29 38 STRB            W11, [X10,X9]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF70 29 05 00 91 ADD             X9, X9, #1</span></code><code><span class="code-snippet_outer">__text:00000001052EEF74 08 21 00 11 ADD             W8, W8, #8</span></code><code><span class="code-snippet_outer">__text:00000001052EEF78 3F 21 00 F1 CMP             X9, #8</span></code><code><span class="code-snippet_outer">__text:00000001052EEF7C 81 FE FF 54 B.NE            loc_1052EEF4C</span></code><code><span class="code-snippet_outer">__text:00000001052EEF80 E8 03 19 32 MOV             W8, #0x80</span></code><code><span class="code-snippet_outer">__text:00000001052EEF84 E8 3F 00 39 STRB            W8, [SP,#0x90+__src]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF88 F4 63 00 91 ADD             X20, SP, #0x90+var_78</span></code><code><span class="code-snippet_outer">__text:00000001052EEF8C 02 00 00 14 B               loc_1052EEF94</span></code><code><span class="code-snippet_outer">__text:00000001052EEF90         </span></code><code><span class="code-snippet_outer">__text:00000001052EEF90</span></code><code><span class="code-snippet_outer">__text:00000001052EEF90             loc_1052EEF90   </span></code><code><span class="code-snippet_outer">__text:00000001052EEF90 FF 3F 00 39 STRB            WZR, [SP,#0x90+__src]</span></code><code><span class="code-snippet_outer">__text:00000001052EEF94</span></code><code><span class="code-snippet_outer">__text:00000001052EEF94             loc_1052EEF94   </span></code><code><span class="code-snippet_outer">__text:00000001052EEF94 E0 63 00 91 ADD             X0, SP, #0x90+var_78    ; int</span></code><code><span class="code-snippet_outer">__text:00000001052EEF98 E1 3F 00 91 ADD             X1, SP, #0x90+__src     ; __src</span></code><code><span class="code-snippet_outer">__text:00000001052EEF9C E2 03 00 32 MOV             W2, #1</span></code><code><span class="code-snippet_outer">__text:00000001052EEFA0 20 00 00 94 BL              sub_1052EF020</span></code><code><span class="code-snippet_outer">__text:00000001052EEFA4 E8 2F 40 B9 LDR             W8, [SP,#0x90+var_68+4]</span></code><code><span class="code-snippet_outer">__text:00000001052EEFA8 08 15 1D 12 AND             W8, W8, #0x1F8</span></code><code><span class="code-snippet_outer">__text:00000001052EEFAC 1F 01 07 71 CMP             W8, #0x1C0</span></code><code><span class="code-snippet_outer">__text:00000001052EEFB0 01 FF FF 54 B.NE            loc_1052EEF90</span></code><code><span class="code-snippet_outer">__text:00000001052EEFB4 E0 63 00 91 ADD             X0, SP, #0x90+var_78    ; int</span></code><code><span class="code-snippet_outer">__text:00000001052EEFB8 E1 43 00 91 ADD             X1, SP, #0x90+var_80    ; __src</span></code><code><span class="code-snippet_outer">__text:00000001052EEFBC E2 03 1D 32 MOV             W2, #8</span></code><code><span class="code-snippet_outer">__text:00000001052EEFC0 18 00 00 94 BL              sub_1052EF020</span></code><code><span class="code-snippet_outer">__text:00000001052EEFC4 08 00 80 52 MOV             W8, #0</span></code><code><span class="code-snippet_outer">__text:00000001052EEFC8 09 00 80 D2 MOV             X9, #0</span></code><code><span class="code-snippet_outer">__text:00000001052EEFCC</span></code><code><span class="code-snippet_outer">__text:00000001052EEFCC             loc_1052EEFCC    </span></code><code><span class="code-snippet_outer">__text:00000001052EEFCC 2A 7D 42 D3 UBFX            X10, X9, #2, #0x1E</span></code><code><span class="code-snippet_outer">__text:00000001052EEFD0 8A 7A 6A B8 LDR             W10, [X20,X10,LSL#2]</span></code><code><span class="code-snippet_outer">__text:00000001052EEFD4 EB 03 28 2A MVN             W11, W8</span></code><code><span class="code-snippet_outer">__text:00000001052EEFD8 6B 05 1D 12 AND             W11, W11, #0x18</span></code><code><span class="code-snippet_outer">__text:00000001052EEFDC 4A 25 CB 1A LSR             W10, W10, W11</span></code><code><span class="code-snippet_outer">__text:00000001052EEFE0 6A 6A 29 38 STRB            W10, [X19,X9]</span></code><code><span class="code-snippet_outer">__text:00000001052EEFE4 29 05 00 91 ADD             X9, X9, #1</span></code><code><span class="code-snippet_outer">__text:00000001052EEFE8 08 21 00 11 ADD             W8, W8, #8</span></code><code><span class="code-snippet_outer">__text:00000001052EEFEC 3F 51 00 F1 CMP             X9, #0x14</span></code><code><span class="code-snippet_outer">__text:00000001052EEFF0 E1 FE FF 54 B.NE            loc_1052EEFCC</span></code><code><span class="code-snippet_outer">__text:00000001052EEFF4 A8 83 5E F8 LDUR            X8, [X29,#var_18]</span></code><code><span class="code-snippet_outer">__text:00000001052EEFF8 C9 BC 00 B0 ADRP            X9, #___stack_chk_guard_ptr@PAGE</span></code><code><span class="code-snippet_outer">__text:00000001052EEFFC 29 FD 43 F9 LDR             X9, [X9,#___stack_chk_guard_ptr@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:00000001052EF000 29 01 40 F9 LDR             X9, [X9]</span></code><code><span class="code-snippet_outer">__text:00000001052EF004 3F 01 08 EB CMP             X9, X8</span></code><code><span class="code-snippet_outer">__text:00000001052EF008 A1 00 00 54 B.NE            loc_1052EF01C</span></code><code><span class="code-snippet_outer">__text:00000001052EF00C FD 7B 49 A9 LDP             X29, X30, [SP,#0x90+var_s0]</span></code><code><span class="code-snippet_outer">__text:00000001052EF010 F4 4F 48 A9 LDP             X20, X19, [SP,#0x90+var_10]</span></code><code><span class="code-snippet_outer">__text:00000001052EF014 FF 83 02 91 ADD             SP, SP, #0xA0</span></code><code><span class="code-snippet_outer">__text:00000001052EF018 C0 03 5F D6 RET</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算后的值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">000000016B7078B0  D8 49 F8 46 FA 3A 4C 93  AC 68 76 4E 15 11 6C E2</span></code><code><span class="code-snippet_outer">000000016B7078C0  A5 81 4B 1F</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算后hmac值与解密后的a0其中一组组合</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">000000016B707850                                    20 09 0B 16 48</span></code><code><span class="code-snippet_outer">000000016B707860  52 1E 35 3B 5A 67 5A 16  15 5B 50 74 3F 15 33 06</span></code><code><span class="code-snippet_outer">000000016B707870  0D 68 15 64 2F 17 17 29  00 61 3F 13 4A 1B 5F 5C</span></code><code><span class="code-snippet_outer">000000016B707880  5C 5C 5C 5C 5C 5C 5C 5C  5C 5C 5C 5C 5C 5C 5C 5C</span></code><code><span class="code-snippet_outer">000000016B707890  5C 5C 5C 5C 5C 5C 5C 5C  5C 5C 5C D8 49 F8 46 FA</span></code><code><span class="code-snippet_outer">000000016B7078A0  3A 4C 93 AC 68 76 4E 15  11 6C E2 A5 81 4B 1F</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">再次计算hmac值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">000000016B707A50  58 26 1C D2 C2 35 BC D4  CE 83 F3 AF E0 BA 76 8C</span></code><code><span class="code-snippet_outer">000000016B707A60  C5 90 AF 5C</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">加密计算的hmac值得到最终的签名值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:0000000105353BC4             loc_105353BC4</span></code><code><span class="code-snippet_outer">__text:0000000105353BC4 81 02 80 52 MOV             W1, #0x14</span></code><code><span class="code-snippet_outer">__text:0000000105353BC8 E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:0000000105353BCC E2 03 1A AA MOV             X2, X26</span></code><code><span class="code-snippet_outer">__text:0000000105353BD0 2D 1E 00 94 BL              EncHmac_sha_loc_10303B484 ; x0:计算后的hmac,x1:大小，x0：返回</span></code><code><span class="code-snippet_outer">__text:0000000105353BD4 F9 03 00 AA MOV             X25, X0</span></code><code><span class="code-snippet_outer">__text:0000000105353BD8 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000105353BDC</span></code><code><span class="code-snippet_outer">__text:0000000105353BDC             loc_105353BDC </span></code><code><span class="code-snippet_outer">__text:0000000105353BDC E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000105353BE0 41 03 40 F9 LDR             X1, [X26]</span></code><code><span class="code-snippet_outer">__text:0000000105353BE4 E8 03 16 AA MOV             X8, X22</span></code><code><span class="code-snippet_outer">__text:0000000105353BE8 E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:0000000105353BEC 66 0C 00 94 BL              Hex2String_loc_105296D84 ; hmac转换成字符串</span></code><code><span class="code-snippet_outer">__text:0000000105353BF0 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000105353BF4 C8 0A 40 F9 LDR             X8, [X22,#0x10]</span></code><code><span class="code-snippet_outer">__text:0000000105353BF8 88 0A 00 F9 STR             X8, [X20,#0x10]</span></code><code><span class="code-snippet_outer">__text:0000000105353BFC C0 02 C0 3D LDR             Q0, [X22]</span></code><code><span class="code-snippet_outer">__text:0000000105353C00 80 02 80 3D STR             Q0, [X20]</span></code><code><span class="code-snippet_outer">__text:0000000105353C04 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000105353C08 B9 DA FF B4 CBZ             X25, loc_10535375C</span></code><code><span class="code-snippet_outer">__text:0000000105353C0C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:0000000105353C10 A0 00 00 18 LDR             W0, =1</span></code><code><span class="code-snippet_outer">__text:0000000105353C14 51 FE FF 17 B               loc_105353558</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">加密后</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">0000000280190580  7F 26 8F D8 7F 5D 01 F3  2D D5 C7 E0 86 84 87 8E</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">转换成字符串</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer">7f268fd87f5d01f32dd5c7e08684878e</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">组合成最终的签名</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;a0&#34;: &#34;2.0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a1&#34;: &#34;6d1efb41-1bb2-4db1-88ee-b89d21d06e5f&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a3&#34;: 0,</span></code><code><span class="code-snippet_outer">  &#34;a4&#34;: 1635653901,</span></code><code><span class="code-snippet_outer">  &#34;a5&#34;: &#34;JfK7jkr5ynz3ml99zThnaS5L743O5fhYgFXWDl6zy2oq2xSv1zXcpe0CqFjp2Kso5D/1COlqjX9Rx7MmT40OQrIc2cpvc8gGaA9kMNErfgB2oSWrauzR/meaKYKkRDEuFAuW5jGBHzTycaqGYKjAzj0WI4Nhp8Bq5qAqoHprH0KQMMxZXwN/7US2vDa1DJedgqDk5qvCyE4p91XKh9CaH45tV1IAaL8fYtjdZ+Q=&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a6&#34;: 0,</span></code><code><span class="code-snippet_outer">  &#34;a7&#34;: &#34;mw0bruZSgWId6ew08pp0a3d2Vpfq1fcZfyJrTVmk89oqGNr5754r2zbh6YfpvQ4CijQe+0LfaB+WbyR9njkTQ8iCiFQzqg8rh18j7EntWdk=&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a8&#34;: &#34;dad72f7de813ef8dfd0bbd58f3a775dacf5121ec1a2552173a0e314b&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a9&#34;: &#34;73bbf8c593ouanbiybRw8GI7B2KR179Y36ZpGtEOD95qhzQAuGKu2soVnxJif9J7sNG8+ulF&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a10&#34;: &#34;&#34;,</span></code><code><span class="code-snippet_outer">  &#34;x0&#34;: 2,</span></code><code><span class="code-snippet_outer">  &#34;a2&#34;: &#34;7f268fd87f5d01f32dd5c7e08684878e&#34;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><br/></p><p data-source-line="1834" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">整个请求体的签名结束，然后发起网络请求。<br style="box-sizing: border-box;"/></p><h3 data-source-line="1835" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">六、设备指纹分析</span></h3><h4 data-source-line="1836" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">6.1、请求服务器设备指纹</span></h4><p data-source-line="1837" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">应用启动后会生成两个ID，一个是XID，一个是DFPID，如图6-1、6-2所示:</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-fileid="100000373" data-ratio="0.3396537510305029" data-s="300,640" style="" data-type="png" data-w="1213" src="https://wechat2rss.xlab.app/img-proxy/?k=ff0e6ba9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhTacBRXWEicUiaTl5AupdVnpo0bcrAKviapFpGSqhDibeHlIPkKXW5OVT8A%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图6-1<br/></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-fileid="100000374" data-ratio="0.4190751445086705" data-s="300,640" style="" data-type="png" data-w="1038" src="https://wechat2rss.xlab.app/img-proxy/?k=1b29847d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhOiaxDz6tRuyQ2x3jB1D7Q9F0S3k7sL0uNoCGtrMXy8HOn6uR7VJa9TA%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图6-1<br/></p><h4 data-source-line="1842" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">6.2、XID生成</span></h4><p data-source-line="1843" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">获取设备信息:</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:00000001010F3234             getmDeviceInfo_loc_104F0F234 </span></code><code><span class="code-snippet_outer">__text:00000001010F3234 </span></code><code><span class="code-snippet_outer">__text:00000001010F3234 FF 43 01 D1 SUB             SP, SP, #0x50 ; &#39;P&#39;     ; 获取设备信息,x0:编号，根据编号走到对应的获取方法中</span></code><code><span class="code-snippet_outer">__text:00000001010F3238 E0 7B 02 A9 STP             X0, X30, [SP,#0x20]</span></code><code><span class="code-snippet_outer">__text:00000001010F323C 03 00 00 94 BL              sub_1010F3248</span></code><code><span class="code-snippet_outer">__text:00000001010F323C  </span></code><code><span class="code-snippet_outer">__text:00000001010F3240 2A FC 35 E0+DCQ 0x27CDE47EE035FC2A</span></code><code><span class="code-snippet_outer">__text:00000001010F3248</span></code><code><span class="code-snippet_outer">__text:00000001010F3248  </span></code><code><span class="code-snippet_outer">__text:00000001010F3248</span></code><code><span class="code-snippet_outer">__text:00000001010F3248</span></code><code><span class="code-snippet_outer">__text:00000001010F3248             sub_1010F3248 </span></code><code><span class="code-snippet_outer">__text:00000001010F3248 00 01 00 10 ADR             X0, loc_1010F3268</span></code><code><span class="code-snippet_outer">__text:00000001010F324C FE 03 00 AA MOV             X30, X0</span></code><code><span class="code-snippet_outer">__text:00000001010F3250 FF 43 01 91 ADD             SP, SP, #0x50 ; &#39;P&#39;</span></code><code><span class="code-snippet_outer">__text:00000001010F3254 C0 03 5F D6 RET</span></code><code><span class="code-snippet_outer">__text:00000001010F3254             ; End of function sub_1010F3248</span></code><code><span class="code-snippet_outer">__text:00000001010F3254</span></code><code><span class="code-snippet_outer">__text:00000001010F3254  </span></code><code><span class="code-snippet_outer">__text:00000001010F3258 47 86 7E 27+DCQ 0x183E35D4277E8647, 0x78B503779BA7D3FF</span></code><code><span class="code-snippet_outer">__text:00000001010F3268  </span></code><code><span class="code-snippet_outer">__text:00000001010F3268</span></code><code><span class="code-snippet_outer">__text:00000001010F3268             loc_1010F3268                           ; DATA XREF: sub_1010F3248↑o</span></code><code><span class="code-snippet_outer">__text:00000001010F3268 E0 7B 7D A9 LDP             X0, X30, [SP,#-0x30]</span></code><code><span class="code-snippet_outer">__text:00000001010F326C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010F3270 80 01 80 D2 MOV             X0, #0xC</span></code><code><span class="code-snippet_outer">__text:00000001010F3274 08 00 00 14 B               loc_1010F3294</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//循环获取设备信息</span></code><code><span class="code-snippet_outer">__text:00000001010F4EC8 E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]    ; 获取m设备信息</span></code><code><span class="code-snippet_outer">__text:00000001010F4ECC E9 2B 00 10 ADR             X9, unk_1010F5448</span></code><code><span class="code-snippet_outer">__text:00000001010F4ED0 1F 20 03 D5 NOP</span></code><code><span class="code-snippet_outer">__text:00000001010F4ED4 28 79 A8 B8 LDRSW           X8, [X9,X8,LSL#2]</span></code><code><span class="code-snippet_outer">__text:00000001010F4ED8 08 01 09 8B ADD             X8, X8, X9</span></code><code><span class="code-snippet_outer">__text:00000001010F4EDC E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010F4EE0 00 01 1F D6 BR              X8                      ; 走到对应的获取信息方法</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">将每一个获取到的信息组合单个json值,格式如下</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">{&#34;value&#34;:&#34;E68684F0-7573-4EBC-99BD-A03D58888888&#34;,&#34;code&#34;:1} //获取的IDFA</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">获取本地XID，如果是第一次或本地没有存储就本地生成一个：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">-[SAKGuardDeviceFingerprint generateLocalXID]</span></code><code><span class="code-snippet_outer">+[SAKGuardLocalIDKeychainStorage localID]</span></code><code><span class="code-snippet_outer">+[SAKGuardLocalIDKeychainStorage generateLocalID]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">__text:000000010110C9D8 E8 03 00 32 MOV             W8, #1</span></code><code><span class="code-snippet_outer">__text:000000010110C9DC 68 FE 9F 88 STLR            W8, [X19]</span></code><code><span class="code-snippet_outer">__text:000000010110C9E0 F4 83 00 D1 SUB             X20, SP, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">__text:000000010110C9E4 9F 02 00 91 MOV             SP, X20</span></code><code><span class="code-snippet_outer">__text:000000010110C9E8 F7 83 00 D1 SUB             X23, SP, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">__text:000000010110C9EC FF 02 00 91 MOV             SP, X23</span></code><code><span class="code-snippet_outer">__text:000000010110C9F0 56 EC 00 D0+ADRL            X22, cfstr_M_7          ; &#34;m&#34;</span></code><code><span class="code-snippet_outer">__text:000000010110C9F0 D6 82 30 91</span></code><code><span class="code-snippet_outer">__text:000000010110C9F8 E0 03 16 AA MOV             X0, X22</span></code><code><span class="code-snippet_outer">__text:000000010110C9FC C5 BA 42 94 BL              _objc_retain</span></code><code><span class="code-snippet_outer">__text:000000010110CA00 68 E7 00 D0 ADRP            X8, #classRef_NSUUID@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CA04 00 ED 43 F9 LDR             X0, [X8,#classRef_NSUUID@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CA08 08 E5 00 F0 ADRP            X8, #selRef_UUID@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CA0C 01 11 43 F9 LDR             X1, [X8,#selRef_UUID@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CA10 B1 BA 42 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010110CA14 F5 03 00 AA MOV             X21, X0</span></code><code><span class="code-snippet_outer">__text:000000010110CA18 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110CA1C FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110CA20 E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:000000010110CA24 C4 BA 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110CA28 08 E5 00 F0 ADRP            X8, #selRef_UUIDString@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CA2C 01 C9 43 F9 LDR             X1, [X8,#selRef_UUIDString@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CA30 A9 BA 42 94 BL              _objc_msgSend           ; 生成UUID字符串</span></code><code><span class="code-snippet_outer">__text:000000010110CA34 F9 03 00 AA MOV             X25, X0</span></code><code><span class="code-snippet_outer">__text:000000010110CA38 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110CA3C FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110CA40 E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:000000010110CA44 BC BA 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110CA48 08 E5 00 B0 ADRP            X8, #selRef_stringByReplacingOccurrencesOfString_withString_@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CA4C 01 D1 41 F9 LDR             X1, [X8,#selRef_stringByReplacingOccurrencesOfString_withString_@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CA50 42 EC 00 D0+ADRL            X2, cfstr_K_7           ; &#34;k&#34;</span></code><code><span class="code-snippet_outer">__text:000000010110CA50 42 00 31 91</span></code><code><span class="code-snippet_outer">__text:000000010110CA58 98 BE 00 90+ADRL            X24, stru_1028DC488</span></code><code><span class="code-snippet_outer">__text:000000010110CA58 18 23 12 91</span></code><code><span class="code-snippet_outer">__text:000000010110CA60 E3 03 18 AA MOV             X3, X24</span></code><code><span class="code-snippet_outer">__text:000000010110CA64 9C BA 42 94 BL              _objc_msgSend           ; 替换掉UUID&#34;-&#34;</span></code><code><span class="code-snippet_outer">__text:000000010110CA68 F3 03 00 AA MOV             X19, X0</span></code><code><span class="code-snippet_outer">__text:000000010110CA6C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110CA70 FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110CA74 E0 03 13 AA MOV             X0, X19</span></code><code><span class="code-snippet_outer">__text:000000010110CA78 AF BA 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110CA7C E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:000000010110CA80 A1 BA 42 94 BL              _objc_release</span></code><code><span class="code-snippet_outer">__text:000000010110CA84 E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:000000010110CA88 9F BA 42 94 BL              _objc_release</span></code><code><span class="code-snippet_outer">__text:000000010110CA8C 68 E7 00 D0 ADRP            X8, #classRef_NSDate@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CA90 00 B9 42 F9 LDR             X0, [X8,#classRef_NSDate@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CA94 08 E5 00 B0 ADRP            X8, #selRef_date@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CA98 01 AD 41 F9 LDR             X1, [X8,#selRef_date@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CA9C 8E BA 42 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010110CAA0 F5 03 00 AA MOV             X21, X0</span></code><code><span class="code-snippet_outer">__text:000000010110CAA4 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110CAA8 FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110CAAC E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:000000010110CAB0 A1 BA 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110CAB4 08 E5 00 B0 ADRP            X8, #selRef_timeIntervalSince1970@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CAB8 01 B1 41 F9 LDR             X1, [X8,#selRef_timeIntervalSince1970@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CABC 86 BA 42 94 BL              _objc_msgSend           ; 获取时间</span></code><code><span class="code-snippet_outer">__text:000000010110CAC0 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110CAC4 A8 85 00 90 ADRP            X8, #off_1021C05D8@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CAC8 01 ED 42 FD LDR             D1, [X8,#off_1021C05D8@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CACC 00 08 61 1E FMUL            D0, D0, D1</span></code><code><span class="code-snippet_outer">__text:000000010110CAD0 19 00 78 9E FCVTZS          X25, D0</span></code><code><span class="code-snippet_outer">__text:000000010110CAD4 E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:000000010110CAD8 8B BA 42 94 BL              _objc_release</span></code><code><span class="code-snippet_outer">__text:000000010110CADC 7B E7 00 D0 ADRP            X27, #classRef_NSString@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CAE0 60 AB 41 F9 LDR             X0, [X27,#classRef_NSString@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CAE4 08 E5 00 90 ADRP            X8, #selRef_stringWithFormat_@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CAE8 1A 4D 40 F9 LDR             X26, [X8,#selRef_stringWithFormat_@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CAEC F9 0F 1F F8 STR             X25, [SP,#-0x10]!</span></code><code><span class="code-snippet_outer">__text:000000010110CAF0 42 EC 00 D0+ADRL            X2, stru_102E96C60      ; &#34; ?\x0F&#34;</span></code><code><span class="code-snippet_outer">__text:000000010110CAF0 42 80 31 91</span></code><code><span class="code-snippet_outer">__text:000000010110CAF8 E1 03 1A AA MOV             X1, X26</span></code><code><span class="code-snippet_outer">__text:000000010110CAFC 76 BA 42 94 BL              _objc_msgSend           ; 格式化时间</span></code><code><span class="code-snippet_outer">__text:000000010110CB00 FF 43 00 91 ADD             SP, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:000000010110CB04 F5 03 00 AA MOV             X21, X0</span></code><code><span class="code-snippet_outer">__text:000000010110CB08 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110CB0C FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110CB10 E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:000000010110CB14 88 BA 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110CB18 40 EC 00 D0+ADRL            X0, cfstr_6_7           ; &#34;6&#34;</span></code><code><span class="code-snippet_outer">__text:000000010110CB18 00 00 32 91</span></code><code><span class="code-snippet_outer">__text:000000010110CB20 7C BA 42 94 BL              _objc_retain</span></code><code><span class="code-snippet_outer">__text:000000010110CB24 68 AB 41 F9 LDR             X8, [X27,#classRef_NSString@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CB28 7F 02 00 F1 CMP             X19, #0</span></code><code><span class="code-snippet_outer">__text:000000010110CB2C 09 03 93 9A CSEL            X9, X24, X19, EQ</span></code><code><span class="code-snippet_outer">__text:000000010110CB30 BF 02 00 F1 CMP             X21, #0</span></code><code><span class="code-snippet_outer">__text:000000010110CB34 0A 03 95 9A CSEL            X10, X24, X21, EQ</span></code><code><span class="code-snippet_outer">__text:000000010110CB38 FF 83 00 D1 SUB             SP, SP, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">__text:000000010110CB3C EA 03 01 A9 STP             X10, X0, [SP,#0x10]</span></code><code><span class="code-snippet_outer">__text:000000010110CB40 F6 27 00 A9 STP             X22, X9, [SP]</span></code><code><span class="code-snippet_outer">__text:000000010110CB44 42 EC 00 D0+ADRL            X2, stru_102E96CA0      ; &#34;\x8A|\x96\x12\x04\xAEu\x8E&#34;</span></code><code><span class="code-snippet_outer">__text:000000010110CB44 42 80 32 91</span></code><code><span class="code-snippet_outer">__text:000000010110CB4C E0 03 08 AA MOV             X0, X8</span></code><code><span class="code-snippet_outer">__text:000000010110CB50 E1 03 1A AA MOV             X1, X26</span></code><code><span class="code-snippet_outer">__text:000000010110CB54 60 BA 42 94 BL              _objc_msgSend           ; UUID+时间</span></code><code><span class="code-snippet_outer">__text:000000010110CB58 FF 83 00 91 ADD             SP, SP, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">__text:000000010110CB5C F9 03 00 AA MOV             X25, X0</span></code><code><span class="code-snippet_outer">__text:000000010110CB60 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110CB64 FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110CB68 E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:000000010110CB6C 72 BA 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110CB70 08 E5 00 D0 ADRP            X8, #selRef_lowercaseString@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110CB74 01 D5 47 F9 LDR             X1, [X8,#selRef_lowercaseString@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110CB78 57 BA 42 94 BL              _objc_msgSend           ; 转换成小写</span></code><code><span class="code-snippet_outer">__text:000000010110CB7C F6 03 00 AA MOV             X22, X0</span></code><code><span class="code-snippet_outer">__text:000000010110CB80 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110CB84 FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110CB88 E0 03 16 AA MOV             X0, X22</span></code><code><span class="code-snippet_outer">__text:000000010110CB8C 6A BA 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110CB90 E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:000000010110CB94 5C BA 42 94 BL              _objc_release</span></code><code><span class="code-snippet_outer">__text:000000010110CB98 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110CB9C 36 DA FF B4 CBZ             X22, loc_10110C6E0</span></code><code><span class="code-snippet_outer">__text:000000010110CBA0 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//加密</span></code><code><span class="code-snippet_outer">__text:000000010110C6E0 9F 7E 00 A9 STP             XZR, XZR, [X20]</span></code><code><span class="code-snippet_outer">__text:000000010110C6E4 9F 0A 00 F9 STR             XZR, [X20,#0x10]</span></code><code><span class="code-snippet_outer">__text:000000010110C6E8 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C6EC E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C6F0 60 AB 41 F9 LDR             X0, [X27,#classRef_NSString@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C6F4 E8 E4 00 F0 ADRP            X8, #selRef_alloc@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110C6F8 01 B1 47 F9 LDR             X1, [X8,#selRef_alloc@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C6FC 76 BB 42 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010110C700 F9 03 00 AA MOV             X25, X0</span></code><code><span class="code-snippet_outer">__text:000000010110C704 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C708 E8 03 17 AA MOV             X8, X23</span></code><code><span class="code-snippet_outer">__text:000000010110C70C E0 03 14 AA MOV             X0, X20</span></code><code><span class="code-snippet_outer">__text:000000010110C710 39 69 FE 97 BL              EncCRC32_LodalID_loc_1056A2BF4 ; x0:指针uuid+时间</span></code><code><span class="code-snippet_outer">__text:000000010110C714 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C718 88 E6 00 D0 ADRP            X8, #selRef_initFromCppString_@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110C71C 01 11 46 F9 LDR             X1, [X8,#selRef_initFromCppString_@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C720 E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:000000010110C724 E2 03 17 AA MOV             X2, X23</span></code><code><span class="code-snippet_outer">__text:000000010110C728 6B BB 42 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010110C72C F9 03 00 AA MOV             X25, X0</span></code><code><span class="code-snippet_outer">__text:000000010110C730 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C734 E8 5E C0 39 LDRSB           W8, [X23,#0x17]</span></code><code><span class="code-snippet_outer">__text:000000010110C738 1F 01 01 72 TST             W8, #0x80000000</span></code><code><span class="code-snippet_outer">__text:000000010110C73C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C740 80 00 00 54 B.EQ            loc_10110C750</span></code><code><span class="code-snippet_outer">__text:000000010110C744 E0 02 40 F9 LDR             X0, [X23]</span></code><code><span class="code-snippet_outer">__text:000000010110C748 B3 B6 42 94 BL              __ZdlPv                 ; operator delete(void *)</span></code><code><span class="code-snippet_outer">__text:000000010110C74C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C750</span></code><code><span class="code-snippet_outer">__text:000000010110C750             loc_10110C750                           ; CODE XREF: __text:facebook::react::JSIExecutor::defaultTimeoutInvoker(std::function&lt;void ()(void)&gt; const&amp;,std::function&lt;std::string ()(void)&gt;)+488A64↑j</span></code><code><span class="code-snippet_outer">__text:000000010110C750 77 AB 41 F9 LDR             X23, [X27,#classRef_NSString@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C754 08 E5 00 90 ADRP            X8, #selRef_longLongValue@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110C758 01 F9 42 F9 LDR             X1, [X8,#selRef_longLongValue@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C75C E0 03 19 AA MOV             X0, X25</span></code><code><span class="code-snippet_outer">__text:000000010110C760 5D BB 42 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010110C764 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C768 E0 0F 1F F8 STR             X0, [SP,#-0x10]!</span></code><code><span class="code-snippet_outer">__text:000000010110C76C 42 EC 00 D0+ADRL            X2, cfstr_H_8           ; &#34;h\xEA\xCF\x2D\x01D&#34;</span></code><code><span class="code-snippet_outer">__text:000000010110C76C 42 00 33 91</span></code><code><span class="code-snippet_outer">__text:000000010110C774 E0 03 17 AA MOV             X0, X23</span></code><code><span class="code-snippet_outer">__text:000000010110C778 E1 03 1A AA MOV             X1, X26</span></code><code><span class="code-snippet_outer">__text:000000010110C77C 56 BB 42 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010110C780 FF 43 00 91 ADD             SP, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:000000010110C784 F7 03 00 AA MOV             X23, X0</span></code><code><span class="code-snippet_outer">__text:000000010110C788 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C78C FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110C790 E0 03 17 AA MOV             X0, X23</span></code><code><span class="code-snippet_outer">__text:000000010110C794 68 BB 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110C798 60 AB 41 F9 LDR             X0, [X27,#classRef_NSString@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C79C DF 02 00 F1 CMP             X22, #0</span></code><code><span class="code-snippet_outer">__text:000000010110C7A0 08 03 96 9A CSEL            X8, X24, X22, EQ</span></code><code><span class="code-snippet_outer">__text:000000010110C7A4 FF 02 00 F1 CMP             X23, #0</span></code><code><span class="code-snippet_outer">__text:000000010110C7A8 09 03 97 9A CSEL            X9, X24, X23, EQ</span></code><code><span class="code-snippet_outer">__text:000000010110C7AC E8 27 BF A9 STP             X8, X9, [SP,#-0x10]!</span></code><code><span class="code-snippet_outer">__text:000000010110C7B0 42 EC 00 D0+ADRL            X2, cfstr_A_9           ; &#34;A&#34;</span></code><code><span class="code-snippet_outer">__text:000000010110C7B0 42 00 30 91</span></code><code><span class="code-snippet_outer">__text:000000010110C7B8 E1 03 1A AA MOV             X1, X26</span></code><code><span class="code-snippet_outer">__text:000000010110C7BC 46 BB 42 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010110C7C0 FF 43 00 91 ADD             SP, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:000000010110C7C4 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C7C8 FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110C7CC 5A BB 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110C7D0 BA EF 00 F0 ADRP            X26, #qword_102F03060@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110C7D4 48 33 40 F9 LDR             X8, [X26,#qword_102F03060@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C7D8 40 33 00 F9 STR             X0, [X26,#qword_102F03060@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C7DC E0 03 08 AA MOV             X0, X8</span></code><code><span class="code-snippet_outer">__text:000000010110C7E0 49 BB 42 94 BL              _objc_release</span></code><code><span class="code-snippet_outer">__text:000000010110C7E4 98 E7 00 F0 ADRP            X24, #classRef_SAKGuardLocalIDKeychainStorage@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110C7E8 00 1F 43 F9 LDR             X0, [X24,#classRef_SAKGuardLocalIDKeychainStorage@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C7EC 42 33 40 F9 LDR             X2, [X26,#qword_102F03060@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C7F0 88 E6 00 D0 ADRP            X8, #selRef_hexString2Byte_@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110C7F4 01 D9 46 F9 LDR             X1, [X8,#selRef_hexString2Byte_@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C7F8 37 BB 42 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010110C7FC FA 03 00 AA MOV             X26, X0</span></code><code><span class="code-snippet_outer">__text:000000010110C800 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C804 FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110C808 E0 03 1A AA MOV             X0, X26</span></code><code><span class="code-snippet_outer">__text:000000010110C80C 4A BB 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110C810 00 1F 43 F9 LDR             X0, [X24,#classRef_SAKGuardLocalIDKeychainStorage@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C814 88 E6 00 D0 ADRP            X8, #selRef_xorLocalEncrypt_@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110C818 01 DD 46 F9 LDR             X1, [X8,#selRef_xorLocalEncrypt_@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C81C E2 03 1A AA MOV             X2, X26</span></code><code><span class="code-snippet_outer">__text:000000010110C820 2D BB 42 94 BL              _objc_msgSend           ; xorLocalEncrypt</span></code><code><span class="code-snippet_outer">__text:000000010110C824 FB 03 00 AA MOV             X27, X0</span></code><code><span class="code-snippet_outer">__text:000000010110C828 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:000000010110C82C FD 03 1D AA MOV             X29, X29</span></code><code><span class="code-snippet_outer">__text:000000010110C830 E0 03 1B AA MOV             X0, X27</span></code><code><span class="code-snippet_outer">__text:000000010110C834 40 BB 42 94 BL              _objc_retainAutoreleasedReturnValue</span></code><code><span class="code-snippet_outer">__text:000000010110C838 88 E6 00 D0 ADRP            X8, #selRef_byte2HexString@PAGE</span></code><code><span class="code-snippet_outer">__text:000000010110C83C 01 39 45 F9 LDR             X1, [X8,#selRef_byte2HexString@PAGEOFF]</span></code><code><span class="code-snippet_outer">__text:000000010110C840 25 BB 42 94 BL              _objc_msgSend</span></code><code><span class="code-snippet_outer">__text:000000010110C844 F8 03 00 AA MOV             X24, X0</span></code><code><span class="code-snippet_outer"><br/></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">检测风险工具:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="typescript"><code><span class="code-snippet_outer">/Library/MobileSubstrate/DynamicLibraries/AXJ.plist</span></code><code><span class="code-snippet_outer">/Library/MobileSubstrate/DynamicLibraries/ALS.plist</span></code><code><span class="code-snippet_outer">/Library/MobileSubstrate/DynamicLibraries/fakephonelib.plist</span></code><code><span class="code-snippet_outer">/Library/MobileSubstrate/DynamicLibraries/AWZ.plist</span></code><code><span class="code-snippet_outer">iGrimace-X9</span></code><code><span class="code-snippet_outer">iGrimace3</span></code><code><span class="code-snippet_outer">/Library/MobileSubstrate/DynamicLibraries/igvx.plist</span></code><code><span class="code-snippet_outer">iGrimace-R8</span></code><code><span class="code-snippet_outer">/Library/MobileSubstrate/DynamicLibraries/R8.plist</span></code><code><span class="code-snippet_outer">iGrimace144</span></code><code><span class="code-snippet_outer">/Library/MobileSubstrate/DynamicLibraries/iGrimace.plist</span></code><code><span class="code-snippet_outer">iGrimaceV8E</span></code><code><span class="code-snippet_outer">zorro</span></code><code><span class="code-snippet_outer">/Applications/NZT.app</span></code><code><span class="code-snippet_outer">/Applications/AWZ.app</span></code><code><span class="code-snippet_outer">/var/mobile/awzdata</span></code><code><span class="code-snippet_outer">/var/mobile/hdFaker</span></code><code><span class="code-snippet_outer">/usr/bin/XGenDaemon.dylib</span></code><code><span class="code-snippet_outer">/var/mobile/GFaker</span></code><code><span class="code-snippet_outer">/usr/bin/iGevo</span></code><code><span class="code-snippet_outer">/var/root/Forge9_fix</span></code><code><span class="code-snippet_outer">/var/mobile/Library/XXAssistant/Lua/LocalLuas/</span></code><code><span class="code-snippet_outer">/Library/ApplicationSupport/XXAssistant/Lua/LocalLuas/</span></code><code><span class="code-snippet_outer">/Library/ApplicationSupport/XXIDEHelper/xsp/</span></code><code><span class="code-snippet_outer">/var/mobile/Library/XXAssistant/Lua/Luas/Temp/public</span></code><code><span class="code-snippet_outer">/Applications/HiddenApi.app</span></code><code><span class="code-snippet_outer">/Applications/Xgen.app</span></code><code><span class="code-snippet_outer">/Applications/BirdFaker9.app</span></code><code><span class="code-snippet_outer">/Applications/VPNMasterPro.app</span></code><code><span class="code-snippet_outer">/Applications/GuizmOVPN.app</span></code><code><span class="code-snippet_outer">/Applications/AXJ.app</span></code><code><span class="code-snippet_outer">/var/touchelf/scripts/</span></code><code><span class="code-snippet_outer">/var/mobile/Media/TouchSprite/lua/</span></code><code><span class="code-snippet_outer">/Applications/iG.app</span></code><code><span class="code-snippet_outer">/Applications/Forge9.app</span></code><code><span class="code-snippet_outer">/Applications/Forge.app</span></code><code><span class="code-snippet_outer">/Applications/GFaker.app</span></code><code><span class="code-snippet_outer">/Applications/hdfakerset.app</span></code><code><span class="code-snippet_outer">/Applications/R8.app</span></code><code><span class="code-snippet_outer">/Applications/Pranava.app</span></code><code><span class="code-snippet_outer">/Applications/RST.app</span></code><code><span class="code-snippet_outer">/Applications/WujiVPN.app</span></code><code><span class="code-snippet_outer">/Applications/TouchSprite.app</span></code><code><span class="code-snippet_outer">/Applications/TouchElf.app</span></code><code><span class="code-snippet_outer">/Applications/igvx.app</span></code><code><span class="code-snippet_outer">/var/mobile/iGrimace</span></code><code><span class="code-snippet_outer">/var/mobile/Library/Preferences/org.ioshack.igrimace.adv.plist</span></code><code><span class="code-snippet_outer">/Library/MobileSubstrate/DynamicLibraries/zorro.plist</span></code><code><span class="code-snippet_outer">/var/mobile/Library/Preferences/com.007gaiji.selapp.plist</span></code><code><span class="code-snippet_outer">/Library/MobileSubstrate/DynamicLibraries/rstweak.plist</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">检测代码</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">__text:00000001010FAACC E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAAD0 F4 4F BE A9 STP             X20, X19, [SP,#-0x20]!</span></code><code><span class="code-snippet_outer">__text:00000001010FAAD4 FD 7B 01 A9 STP             X29, X30, [SP,#0x10]</span></code><code><span class="code-snippet_outer">__text:00000001010FAAD8 FD 43 00 91 ADD             X29, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:00000001010FAADC F3 03 00 AA MOV             X19, X0</span></code><code><span class="code-snippet_outer">__text:00000001010FAAE0 8C 02 43 94 BL              _objc_retain</span></code><code><span class="code-snippet_outer">__text:00000001010FAAE4 59 38 00 94 BL              chrck_MobileSubstrate.dylib_loc_101108C48 ; 检测越狱风险</span></code><code><span class="code-snippet_outer">__text:00000001010FAAE8 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAAEC 1F 00 00 72 TST             W0, #1</span></code><code><span class="code-snippet_outer">__text:00000001010FAAF0 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAAF4 61 02 00 54 B.NE            loc_1010FAB40</span></code><code><span class="code-snippet_outer">__text:00000001010FAAF8 E0 03 13 AA MOV             X0, X19</span></code><code><span class="code-snippet_outer">__text:00000001010FAAFC 72 37 00 94 BL              fileExistsAtPath_loc_1011088C4</span></code><code><span class="code-snippet_outer">__text:00000001010FAB00 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAB04 1F 00 00 72 TST             W0, #1</span></code><code><span class="code-snippet_outer">__text:00000001010FAB08 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAB0C A1 01 00 54 B.NE            loc_1010FAB40</span></code><code><span class="code-snippet_outer">__text:00000001010FAB10 E0 03 13 AA MOV             X0, X19</span></code><code><span class="code-snippet_outer">__text:00000001010FAB14 E0 37 00 94 BL              fopen_loc_101108A94</span></code><code><span class="code-snippet_outer">__text:00000001010FAB18 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAB1C 1F 00 00 72 TST             W0, #1</span></code><code><span class="code-snippet_outer">__text:00000001010FAB20 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAB24 E1 00 00 54 B.NE            loc_1010FAB40</span></code><code><span class="code-snippet_outer">__text:00000001010FAB28 E0 03 13 AA MOV             X0, X19</span></code><code><span class="code-snippet_outer">__text:00000001010FAB2C 82 38 00 94 BL              access_loc_101108D34</span></code><code><span class="code-snippet_outer">__text:00000001010FAB30 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAB34 1F 00 00 72 TST             W0, #1</span></code><code><span class="code-snippet_outer">__text:00000001010FAB38 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAB3C 40 01 00 54 B.EQ            loc_1010FAB64</span></code><code><span class="code-snippet_outer">__text:00000001010FAB40</span></code><code><span class="code-snippet_outer">__text:00000001010FAB40             loc_1010FAB40</span></code><code><span class="code-snippet_outer">__text:00000001010FAB40                                                     ; </span></code><code><span class="code-snippet_outer">__text:00000001010FAB40 F4 03 00 32 MOV             W20, #1</span></code><code><span class="code-snippet_outer">__text:00000001010FAB44 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAB48 E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010FAB4C E0 03 13 AA MOV             X0, X19</span></code><code><span class="code-snippet_outer">__text:00000001010FAB50 6D 02 43 94 BL              _objc_release</span></code><code><span class="code-snippet_outer">__text:00000001010FAB54 E0 03 14 AA MOV             X0, X20</span></code><code><span class="code-snippet_outer">__text:00000001010FAB58 FD 7B 41 A9 LDP             X29, X30, [SP,#0x10]</span></code><code><span class="code-snippet_outer">__text:00000001010FAB5C F4 4F C2 A8 LDP             X20, X19, [SP],#0x20</span></code><code><span class="code-snippet_outer">//调用SVC 0X80</span></code><code><span class="code-snippet_outer">__text:000000010110DA0C E0 FB 7E A9 LDP             X0, X30, [SP,#var_18]</span></code><code><span class="code-snippet_outer">__text:000000010110DA10 E8 03 01 AA MOV             X8, X1</span></code><code><span class="code-snippet_outer">__text:000000010110DA14 E9 03 00 AA MOV             X9, X0</span></code><code><span class="code-snippet_outer">__text:000000010110DA18 0A 00 80 D2 MOV             X10, #0</span></code><code><span class="code-snippet_outer">__text:000000010110DA1C 8B 17 80 52 MOV             W11, #0xBC</span></code><code><span class="code-snippet_outer">__text:000000010110DA20 F0 03 0B AA MOV             X16, X11</span></code><code><span class="code-snippet_outer">__text:000000010110DA24 E0 03 09 AA MOV             X0, X9</span></code><code><span class="code-snippet_outer">__text:000000010110DA28 E1 03 08 AA MOV             X1, X8</span></code><code><span class="code-snippet_outer">__text:000000010110DA2C E2 03 0A AA MOV             X2, X10</span></code><code><span class="code-snippet_outer">__text:000000010110DA30 E3 03 0A AA MOV             X3, X10</span></code><code><span class="code-snippet_outer">__text:000000010110DA34 E4 03 0A AA MOV             X4, X10</span></code><code><span class="code-snippet_outer">__text:000000010110DA38 E5 03 0A AA MOV             X5, X10</span></code><code><span class="code-snippet_outer">__text:000000010110DA3C 01 10 00 D4 SVC             0x80</span></code><code><span class="code-snippet_outer">__text:000000010110DA40 E8 03 00 AA MOV             X8, X0</span></code><code><span class="code-snippet_outer">__text:000000010110DA44 00 7D 40 93 SXTW            X0, W8</span></code><code><span class="code-snippet_outer">__text:000000010110DA48 C0 03 5F D6 RET</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">转换成最终的json格式</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;m1&#34;: &#34;0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m2&#34;: &#34;1505899243198&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m3&#34;: &#34;imaicai&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m4&#34;: &#34;AppSyncUnified-FrontBoard.dylib\nSSLKillSwitch2.dylib\n&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m5&#34;: &#34;unknown&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m6&#34;: &#34;144048128&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m7&#34;: &#34;1.0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m8&#34;: &#34;[{}]&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m9&#34;: &#34;中国电信&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m10&#34;: &#34;1&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m11&#34;: &#34;15F59763-196D-4B79-A514-AAE602B2DE888&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m12&#34;: &#34;E68684F0-7573-4EBC-99BD-A03D54B88888&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m13&#34;: &#34;1585614288859&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m14&#34;: &#34;19.4.0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m15&#34;: &#34;0.000000&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m16&#34;: &#34;0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m17&#34;: &#34;1&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m18&#34;: &#34;0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m19&#34;: &#34;1&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m27&#34;: &#34;7707a7cc28b649dc8d898888886bc6636114f9b83bad286d6388c7b4&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m122&#34;: &#34;AA==&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m125&#34;: &#34;AppStore&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m126&#34;: &#34;unknown&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m127&#34;: &#34;1346.48671045|345d.98fd6f89355&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m128&#34;: &#34;[{\&#34;bssid\&#34;:\&#34;80:c5:48:4c:f4:6d\&#34;,\&#34;ssid\&#34;:\&#34;fdd\&#34;}]&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m129&#34;: &#34;428015897&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m130&#34;: &#34;unknown&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m131&#34;: &#34;116180860928&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m132&#34;: &#34;127989493760&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m133&#34;: &#34;0e9eb7333944b26d58e302d324bb64d978888826f7361c5020dc945cb157427e&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m134&#34;: &#34;unknown&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m135&#34;: &#34;0.000000&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m136&#34;: &#34;unknown&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m137&#34;: &#34;DarwinKernelVersion19.4.0:MonFeb2422:04:12PST2020;root:xnu-6153.102.3~1/RELEASE_ARM64_T8010&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m138&#34;: &#34;[5,100]&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m139&#34;: &#34;2&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m140&#34;: &#34;arm64&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m141&#34;: &#34;1&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m142&#34;: &#34;0.352187&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m143&#34;: &#34;0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m144&#34;: &#34;5.25.0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m145&#34;: &#34;appstore&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m146&#34;: &#34;1&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m147&#34;: &#34;Darwin&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m148&#34;: &#34;1454003530921.712&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m149&#34;: &#34;14563915717678.990&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m150&#34;: &#34;16f5336908030&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m151&#34;: &#34;iPhone&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m152&#34;: &#34;5.2.11&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m153&#34;: &#34;000000000000021887E4A9F494A9AA82E9C87829ECFF7A163379200827768888&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m154&#34;: &#34;com.baobaoaichi.imaicai&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m155&#34;: &#34;1634003189760&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m156&#34;: &#34;157.134.225.18&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m157&#34;: &#34;2099249152&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m158&#34;: &#34;D10AP&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m159&#34;: &#34;iPhone&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m160&#34;: &#34;iOS13.4&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m161&#34;: &#34;0.000000&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m162&#34;: &#34;WiFi&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m163&#34;: &#34;0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m164&#34;: &#34;zh-Hans-CN&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m165&#34;: &#34;Asia/Shanghai(GMT+8)offset28800&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m166&#34;: &#34;iPhone9,1&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m167&#34;: &#34;750*1334&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m175&#34;: &#34;5EAB68481C6CCC0A19DC5826B3D8C4261399DBA26D74AC5A051D0A5B0627CF80C73EDC1FA82951A5AFA81F41CF43CE30D6718CB9595C473E307ECB99B5A2B6E8268B52F6FC180CC39E9262610D21A9FA9583E51B5BE8907268E0E6283FCC94161E438F64BC5ED6AEBB8CB5ABE1E7836815A08C58A5F34F84471EF88AC4E562063B93280F9BFE648D5AEBCC770DA34CE50E9EAB0F535EC721113AB1012AC754A270A3EED79AD9D0F74CB9285A6D98837315F458CA8CB5F649F1C6D88812A2A28C1F92F6B714D2E38F37EE2E26564BDCAE77C94871B69EE8E0D1278D6788B68FB1A184CD9890B9D4EDECC016F153C7BB2D33E4F8F94446538EADCC47609F7ABA720D6A785C86C6E0F36263BAA556D367A1BD5E9E9771784ADAB668F38F612C78B70BAD7362718659020182CE84C4DD73021D5AAE948B28FC3B326DB8812EFEE47103342AABDA171E4E9A52288493FB6CCD07A13CD152161216BEB68D6DC19B2E88&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m200&#34;: &#34;1583489309&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m249&#34;: &#34;iphone&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m250&#34;: &#34;Apple&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m253&#34;: &#34;[]&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m254&#34;: &#34;0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m255&#34;: &#34;0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m256&#34;: &#34;0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m274&#34;: &#34;1&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m293&#34;: &#34;dad7bca2ce0c45fffb568e4e6436a921d88888ea3e5fcd07babfb97b&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m294&#34;: &#34;{\&#34;7\&#34;:\&#34;\&#34;,\&#34;3\&#34;:\&#34;1\&#34;,\&#34;4\&#34;:\&#34;\&#34;,\&#34;5\&#34;:\&#34;\&#34;,\&#34;1\&#34;:\&#34;1\&#34;,\&#34;33\&#34;:\&#34;{\\\&#34;7\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;3\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;8\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;4\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;0\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;9\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;5\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;1\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;6\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;2\\\&#34;:\\\&#34;-\\\&#34;,\\\&#34;10\\\&#34;:\\\&#34;-\\\&#34;}\&#34;,\&#34;6\&#34;:\&#34;1\&#34;,\&#34;2\&#34;:\&#34;\&#34;}&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m304&#34;: &#34;unknown&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m305&#34;: &#34;750*1334&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m313&#34;: &#34;2&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m306&#34;: &#34;{}&#34;,</span></code><code><span class="code-snippet_outer">  &#34;m307&#34;: &#34;{\&#34;m5\&#34;:5,\&#34;m18\&#34;:7,\&#34;m126\&#34;:7,\&#34;m134\&#34;:5,\&#34;m136\&#34;:5,\&#34;m161\&#34;:7,\&#34;m253\&#34;:5,\&#34;m256\&#34;:7,\&#34;m304\&#34;:5}&#34;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">压缩json文数据,压缩后(部分)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">0000000104AF3800  78 9C 6D 56 CB 6E 2B C7  11 FD 15 82 AB 3C 44 BA  x.mV..+......&lt;D.</span></code><code><span class="code-snippet_outer">0000000104AF3810  BB AA BA BA 9A 81 17 3D  DD 3D 09 60 DF F8 C2 BA  .......=...`..º </span></code><code><span class="code-snippet_outer">0000000104AF3820  49 16 A6 61 0C 39 64 34  88 44 0A 92 8C 1B E7 46  I..a.9d4.D......</span></code><code><span class="code-snippet_outer">0000000104AF3830  FE 8A EC B2 CA 07 64 19  20 9B 20 3F E3 20 BF 91  ......d. . ?....</span></code><code><span class="code-snippet_outer">0000000104AF3840  EA 19 8A BA 56 C4 C7 A0  FA F4 AB EA D4 6B 3E CC  ....V........k&gt;.</span></code><code><span class="code-snippet_outer">0000000104AF3850  6F EC 7C 35 37 F3 8B F9  0D A8 60 9D 71 12 02 10  o...7.....`.q...</span></code><code><span class="code-snippet_outer">0000000104AF3860  DA 20 15 44 05 87 9B 6E  D8 76 43 1D 92 0E E3 ED  ...D...n..C.....</span></code><code><span class="code-snippet_outer">0000000104AF3870  ED E5 77 87 ED 6F 0E C3  7E D8 F5 8B F6 EE 78 78  ................</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密PIC获取key(k1)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">meituan1sankuai0</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">AES加密压缩后数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">_text:00000001010BEA08 E0 7B 7B A9 LDP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010BEA0C E0 43 00 91 ADD             X0, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:00000001010BEA10 82 1E 80 52 MOV             W2, #0xF4</span></code><code><span class="code-snippet_outer">__text:00000001010BEA14 01 00 80 52 MOV             W1, #0</span></code><code><span class="code-snippet_outer">__text:00000001010BEA18 2B F2 43 94 BL              _memset</span></code><code><span class="code-snippet_outer">__text:00000001010BEA1C E1 03 19 32 MOV             W1, #0x80</span></code><code><span class="code-snippet_outer">__text:00000001010BEA20 E2 43 00 91 ADD             X2, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:00000001010BEA24 E0 03 17 AA MOV             X0, X23</span></code><code><span class="code-snippet_outer">__text:00000001010BEA28 1A 51 FF 97 BL              InitKey_sub_102CBEE90   ; x0:key,x1:长度,x2:初始化后的key</span></code><code><span class="code-snippet_outer">__text:00000001010BEA2C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010BEA30 E2 07 40 F9 LDR             X2, [SP,#8]</span></code><code><span class="code-snippet_outer">__text:00000001010BEA34 E3 43 00 91 ADD             X3, SP, #0x10</span></code><code><span class="code-snippet_outer">__text:00000001010BEA38 E5 03 00 32 MOV             W5, #1</span></code><code><span class="code-snippet_outer">__text:00000001010BEA3C E0 03 15 AA MOV             X0, X21</span></code><code><span class="code-snippet_outer">__text:00000001010BEA40 E1 03 13 AA MOV             X1, X19</span></code><code><span class="code-snippet_outer">__text:00000001010BEA44 E4 03 16 AA MOV             X4, X22</span></code><code><span class="code-snippet_outer">__text:00000001010BEA48 3A 54 FF 97 BL              Aes_Enc_Dec_sub_102CBFB30 ; X0:原始数据,X1:初始化后的key,x2:大小,x3:key,X4:IV,X5:模式:0:解密,1:加密</span></code><code><span class="code-snippet_outer">__text:00000001010BEA4C E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code><code><span class="code-snippet_outer">__text:00000001010BEA50 E8 07 40 F9 LDR             X8, [SP,#8]</span></code><code><span class="code-snippet_outer">__text:00000001010BEA54 88 02 00 F9 STR             X8, [X20]</span></code><code><span class="code-snippet_outer">__text:00000001010BEA58 E0 7B 3B A9 STP             X0, X30, [SP,#-0x50]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">AES加密后(部分)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">0000000104AC3200  2C 36 30 1D 89 2C 90 E9  7E F7 1C DB 62 73 D7 5E  ,60..,.......s..</span></code><code><span class="code-snippet_outer">0000000104AC3210  D2 FB 8C AC 1F 31 43 F2  AF B2 DE F1 29 78 33 4B  .....1C........K</span></code><code><span class="code-snippet_outer">0000000104AC3220  8F AA 19 B8 40 E1 CF 85  CF 78 DB C1 19 B6 9A F5  ....@...........</span></code><code><span class="code-snippet_outer">0000000104AC3230  02 1A 23 C1 AC 88 31 C0  98 2A 3E 1A 30 2F 75 D5  ..#...1..*&gt;.0/u.</span></code><code><span class="code-snippet_outer">0000000104AC3240  73 23 B8 15 E2 2A 32 A3  13 4B 38 86 6A 4F 87 2B  s#.......K8.jO.+</span></code><code><span class="code-snippet_outer">0000000104AC3250  D8 D4 84 69 35 B4 B3 2B  BE D8 37 D3 50 C0 FC 9E  ...i5..+........</span></code><code><span class="code-snippet_outer">0000000104AC3260  95 E6 40 38 3D FA 91 4B  4B EA BF 4D BE C3 46 DE  ....=..KK.......</span></code><code><span class="code-snippet_outer">0000000104AC3270  A7 EB EE BC CF 06 1B 42  E9 52 3F 7A 7F AF B8 55  .......B...z...U</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">base64加密</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">LDYwHYkskOl+9xzbYnPXXtL7jKwfMUPyr7Le8Sl4M0uPqhm4QOHPhc9428EZtpr1AhojwayIMcCYKj4aMC911XMjuBXiKjKjE0s4hmpPhyvY1IRpNbSzK77YN9NQwPyeleZAOD36kUtL6r9NvsNG3qfr7rzPBhtC6VI/en+vuFXQEnZJ/Tv6/C03xQCAfJS2Uh7lKMgZe0MZGoANUpLs1+J6rxG9X+LkynUQKPKBxZNSt/q6FywBCbHA5uDKuoxKVa4rSlZCYfBaZbLaIC6iiwmKg4PjUoMzeyIHUkHh+nzEgJWfwE14H/O9ZwUQG68yGBYmtHEY05Bn6V5BROAVpXtyqJTuKg/PIUueX9QMouF0OzcdZwIJt7kAOfdDKfZfYVkovWBwYRXEnHiQ5Q54WyBqU79b8G0PlMFVvYkyw5xMXzmS/5wHuHSDU2xMDePTDDoxNHae4vmqrx+WMgT5M81CWQl/Jyv+Qo/bTj2UGgWwyQpn3TrMbxeB+sNKvBHAiBAG1nS2Q5JmPkpNcYZXQSu1JjDa+eDXuUlpeBl+qRN4wwjIrCZVAYdyGEVsMN461ajPIjrx8uwaBNDlT348tA9vKvADG4na33OK/wK0fM8d+IzktB8OxzLNTxAl6jN6u9CdWTLW1rixFGA8dHqv4RorX2DYIbZSclw4vS2vJrdDBLOuzE28sNZTAhA5I9MSqZkusMXfrua9KS+yiNwXeSWoaj5/DZ452nhfKtJWujRj5rjxI+y3s9e5+/E7+pFvI8WsDOPyURSkb/aDZXshpr1IWyHlDCVrF7OdPZ7dYpfnEYsvRrDIPhkl3vjwtCV8LlaGR0nRZWINBBCQvGcefbIAgAdRYOsxbpJxiKNjKL/ckPIa4c2QdzlaVHyvrtmwOOr2KLADIxNqzVG+b5n0Fw4ERXFd3F/+HEi8bfeXHBDfmTny9Az989dE1CffiyFR/BtiZr85BpGgooTI/C4arlmDtZMqArN0m5lb5IBbrxiQ4F5jRfSai+hwMziJtCRKj1LzXyVP4is+GXRN9MkSvu7qnwkCmmXLHArQD6qs3FP/yO6mplr494Q0YfAm0EGcIeph1lIKT6c+zVlzTxgZnWGzgoVJ9SwtDSOmG1Njm8ZXD1HeoqRO3b8LcWuKYScJqmplk3HlfwNvzlPhDaiSlvESsi4CpbDWeBhaU0vDoYva8MwAd6q3Bo8ePnp941fidcfIJV176wzQdixhLuYje4RzoYMl9fAKd4ns6LLDLEyMv65T3xAykoXWyjI+RS6MZtwob9JWt+gUkXQMoI41re0/w0MPGrJX09M+K7eCVZNGZmJ7I0DpvclVVCRT17BGUjoLd+9TvOi/bWlnTd29b0TqP0hVI9hgCY/0F9B5kYQNKvGNjUtXqIEiIEZEHE9tmBaWwnSmiZ4qgiTTCoiiZm4IJ7yPIFNkgdGkQkgLGbn7tVNyjDasLWcFZ9jmj8PYE6a4fQ3BtT3RGXCRm5v6JNEvo42pi6yOmBzZy2hdIkwKGtQT/JNH3HccgyiPjz4JIuU/LRhgxyPu5TdD29vAaCS5XhfkMDxIiMOWZcNkyeDUez9DHx7XFnJn6b89541ZJewkZjZHf5TxZAPEG7oM6eEX4e9tA/SpQ8uuNyyrZ1EbCrWe/AtjNd/seXw8Nrfy34SpgvbsfdPR1gIk6fjD2TfVR/JBPlEyJxoxFaU1jQ3550pahTtMDtDEgManoqNL4+ux+cvVJoTwOrf4rt4xzfdy+4H8b508dhdBZAHyUa3A2ipmeYc8bIWKNt6AdS6DjrqYRvfoifod1lsDqU7xhIo+LnIE6F5p+jF+QYe+VwTJ/yIp+o8JUyxqJv/N3j4j3cH/EVQDon7Mxtsh1nYW598eMzeQVmrfydwUo9E73C6yp4xtLR0sKEbkJfczx53lPNpFxm7wZxBLao35p0Pawa30YJwTmCLG9iVbC3YKaWEvki6YI4ZgUQvemSkZDEtfJmo5b0FP9ih/1soqWKbXgW1lEr86oDmRHiFwxONgyvzgXmN0mITkYN4Wtxu6jMWZ</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">组合请求体</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;encryptVersion&#34;: &#34;1&#34;,</span></code><code><span class="code-snippet_outer">  &#34;src&#34;: &#34;1&#34;,</span></code><code><span class="code-snippet_outer">  &#34;fingerPrintData&#34;: &#34;LDYwHYkskOl+9xzbYnPXXtL7jKwfMUPyr7Le8Sl4M0uPqhm4QOHPhc9428EZtpr1AhojwayIMcCYKj4aMC911XMjuBXiKjKjE0s4hmpPhyvY1IRpNbSzK77YN9NQwPyeleZAOD36kUtL6r9NvsNG3qfr7rzPBhtC6VI\/en+vuFXQEnZJ\/Tv6\/C03xQCAfJS2Uh7lKMgZe0MZGoANUpLs1+J6rxG9X+LkynUQKPKBxZNSt\/q6FywBCbHA5uDKuoxKVa4rSlZCYfBaZbLaIC6iiwmKg4PjUoMzeyIHUkHh+nzEgJWfwE14H\/O9ZwUQG68yGBYmtHEY05Bn6V5BROAVpXtyqJTuKg\/PIUueX9QMouF0OzcdZwIJt7kAOfdDKfZfYVkovWBwYRXEnHiQ5Q54WyBqU79b8G0PlMFVvYkyw5xMXzmS\/5wHuHSDU2xMDePTDDoxNHae4vmqrx+WMgT5M81CWQl\/Jyv+Qo\/bTj2UGgWwyQpn3TrMbxeB+sNKvBHAiBAG1nS2Q5JmPkpNcYZXQSu1JjDa+eDXuUlpeBl+qRN4wwjIrCZVAYdyGEVsMN461ajPIjrx8uwaBNDlT348tA9vKvADG4na33OK\/wK0fM8d+IzktB8OxzLNTxAl6jN6u9CdWTLW1rixFGA8dHqv4RorX2DYIbZSclw4vS2vJrdDBLOuzE28sNZTAhA5I9MSqZkusMXfrua9KS+yiNwXeSWoaj5\/DZ452nhfKtJWujRj5rjxI+y3s9e5+\/E7+pFvI8WsDOPyURSkb\/aDZXshpr1IWyHlDCVrF7OdPZ7dYpfnEYsvRrDIPhkl3vjwtCV8LlaGR0nRZWINBBCQvGcefbIAgAdRYOsxbpJxiKNjKL\/ckPIa4c2QdzlaVHyvrtmwOOr2KLADIxNqzVG+b5n0Fw4ERXFd3F\/+HEi8bfeXHBDfmTny9Az989dE1CffiyFR\/BtiZr85BpGgooTI\/C4arlmDtZMqArN0m5lb5IBbrxiQ4F5jRfSai+hwMziJtCRKj1LzXyVP4is+GXRN9MkSvu7qnwkCmmXLHArQD6qs3FP\/yO6mplr494Q0YfAm0EGcIeph1lIKT6c+zVlzTxgZnWGzgoVJ9SwtDSOmG1Njm8ZXD1HeoqRO3b8LcWuKYScJqmplk3HlfwNvzlPhDaiSlvESsi4CpbDWeBhaU0vDoYva8MwAd6q3Bo8ePnp941fidcfIJV176wzQdixhLuYje4RzoYMl9fAKd4ns6LLDLEyMv65T3xAykoXWyjI+RS6MZtwob9JWt+gUkXQMoI41re0\/w0MPGrJX09M+K7eCVZNGZmJ7I0DpvclVVCRT17BGUjoLd+9TvOi\/bWlnTd29b0TqP0hVI9hgCY\/0F9B5kYQNKvGNjUtXqIEiIEZEHE9tmBaWwnSmiZ4qgiTTCoiiZm4IJ7yPIFNkgdGkQkgLGbn7tVNyjDasLWcFZ9jmj8PYE6a4fQ3BtT3RGXCRm5v6JNEvo42pi6yOmBzZy2hdIkwKGtQT\/JNH3HccgyiPjz4JIuU\/LRhgxyPu5TdD29vAaCS5XhfkMDxIiMOWZcNkyeDUez9DHx7XFnJn6b89541ZJewkZjZHf5TxZAPEG7oM6eEX4e9tA\/SpQ8uuNyyrZ1EbCrWe\/AtjNd\/seXw8Nrfy34SpgvbsfdPR1gIk6fjD2TfVR\/JBPlEyJxoxFaU1jQ3550pahTtMDtDEgManoqNL4+ux+cvVJoTwOrf4rt4xzfdy+4H8b508dhdBZAHyUa3A2ipmeYc8bIWKNt6AdS6DjrqYRvfoifod1lsDqU7xhIo+LnIE6F5p+jF+QYe+VwTJ\/yIp+o8JUyxqJv\/N3j4j3cH\/EVQDon7Mxtsh1nYW598eMzeQVmrfydwUo9E73C6yp4xtLR0sKEbkJfczx53lPNpFxm7wZxBLao35p0Pawa30YJwTmCLG9iVbC3YKaWEvki6YI4ZgUQvemSkZDEtfJmo5b0FP9ih\/1soqWKbXgW1lEr86oDmRHiFwxONgyvzgXmN0mITkYN4Wtxu6jMWZ&#34;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算签名，签名过程与上面分析的流程是一样的。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">+[SAKGuardCommon sign:attachSiua:]</span></code><code><span class="code-snippet_outer">//获取info.plist中的appkeey 6d1efb41-1bb2-4db1-88ee-b89d21d06e5f</span></code></pre></section><p><br/></p><p data-source-line="2373" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">dfpid逻辑差不多，这里就不分析了。<br style="box-sizing: border-box;"/></p><h3 data-source-line="2374" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">七、算法还原</span></h3><h4 data-source-line="2375" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">7.1、加密设备指纹请求体算法(不全部展开了吧,大多都是标准算法)</span></h4><p data-source-line="2376" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">设备指纹相关用到的算法有AES、压缩、RC4、hmac、base64。<br style="box-sizing: border-box;"/>RC4:</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">#include &lt;stdio.h&gt;</span></code><code><span class="code-snippet_outer">#include &lt;string.h&gt;</span></code><code><span class="code-snippet_outer">//#include &#34;base64.h&#34;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">/*********************************************************************</span></code><code><span class="code-snippet_outer">* Filename:   rc4.c</span></code><code><span class="code-snippet_outer">* Copyright:</span></code><code><span class="code-snippet_outer">*********************************************************************/</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">typedef unsigned long ULONG;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">void rc4_init(unsigned char* s, unsigned char* key, unsigned long Len) //初始化函数</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  int i = 0, j = 0;</span></code><code><span class="code-snippet_outer">  char k[256] = { 0 };</span></code><code><span class="code-snippet_outer">  unsigned char tmp = 0;</span></code><code><span class="code-snippet_outer">  for (i = 0; i &lt; 256; i++) {</span></code><code><span class="code-snippet_outer">    s[i] = i;</span></code><code><span class="code-snippet_outer">    k[i] = key[i % Len];</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  for (i = 0; i &lt; 256; i++) {</span></code><code><span class="code-snippet_outer">    j = (j + s[i] + k[i]) % 256;</span></code><code><span class="code-snippet_outer">    tmp = s[i];</span></code><code><span class="code-snippet_outer">    s[i] = s[j]; //交换s[i]和s[j]</span></code><code><span class="code-snippet_outer">    s[j] = tmp;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">void rc4_crypt(unsigned char* s, unsigned char* Data, unsigned long Len) //加解密</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  int i = 0, j = 0, t = 0;</span></code><code><span class="code-snippet_outer">  unsigned long k = 0;</span></code><code><span class="code-snippet_outer">  unsigned char tmp;</span></code><code><span class="code-snippet_outer">  for (k = 0; k &lt; Len; k++) {</span></code><code><span class="code-snippet_outer">    i = (i + 1) % 256;</span></code><code><span class="code-snippet_outer">    j = (j + s[i]) % 256;</span></code><code><span class="code-snippet_outer">    tmp = s[i];</span></code><code><span class="code-snippet_outer">    s[i] = s[j]; //交换s[x]和s[y]</span></code><code><span class="code-snippet_outer">    s[j] = tmp;</span></code><code><span class="code-snippet_outer">    t = (s[i] + s[j]) % 256;</span></code><code><span class="code-snippet_outer">    Data[k] ^= s[t];</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">AES</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">/*******************</span></code><code><span class="code-snippet_outer">* AES - CBC</span></code><code><span class="code-snippet_outer">*******************/</span></code><code><span class="code-snippet_outer">int aes_encrypt_cbc(const BYTE in[], size_t in_len, BYTE out[], const WORD key[], int keysize, const BYTE iv[])</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  BYTE buf_in[AES_BLOCK_SIZE], buf_out[AES_BLOCK_SIZE], iv_buf[AES_BLOCK_SIZE];</span></code><code><span class="code-snippet_outer">  int blocks, idx;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  if (in_len % AES_BLOCK_SIZE != 0)</span></code><code><span class="code-snippet_outer">    return(FALSE);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  blocks = in_len / AES_BLOCK_SIZE;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  memcpy(iv_buf, iv, AES_BLOCK_SIZE);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  for (idx = 0; idx &lt; blocks; idx++) {</span></code><code><span class="code-snippet_outer">    memcpy(buf_in, &amp;in[idx * AES_BLOCK_SIZE], AES_BLOCK_SIZE);</span></code><code><span class="code-snippet_outer">    xor_buf(iv_buf, buf_in, AES_BLOCK_SIZE);</span></code><code><span class="code-snippet_outer">    aes_encrypt(buf_in, buf_out, key, keysize);</span></code><code><span class="code-snippet_outer">    memcpy(&amp;out[idx * AES_BLOCK_SIZE], buf_out, AES_BLOCK_SIZE);</span></code><code><span class="code-snippet_outer">    memcpy(iv_buf, buf_out, AES_BLOCK_SIZE);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  return(TRUE);</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">测试解密设备指纹请求体</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">//解密fingerPrintData</span></code><code><span class="code-snippet_outer">  BYTE base64_fingerPrintData[1][10434] = {</span></code><code><span class="code-snippet_outer">  {&#34;LDYwHYkskOl+9xzbYnPXXtL7jKwfMUPyr7Le8Sl4M0uPqhm4QOHPhc9428EZtpr1AhojwayIMcCYKj4aMC911XMjuBXiKjKjE0s4hmpPhyvY1IRpNbSzK77YN9NQwPyeleZAOD36kUtL6r9NvsNG3qfr7rzPBhtC6VI\/en+vuFXQEnZJ\/Tv6\/C03xQCAfJS2Uh7lKMgZe0MZGoANUpLs1+J6rxG9X+LkynUQKPKBxZNSt\/q6FywBCbHA5uDKuoxKVa4rSlZCYfBaZbLaIC6iiwmKg4PjUoMzeyIHUkHh+nzEgJWfwE14H\/O9ZwUQG68yGBYmtHEY05Bn6V5BROAVpXtyqJTuKg\/PIUueX9QMouF0OzcdZwIJt7kAOfdDKfZfYVkovWBwYRXEnHiQ5Q54WyBqU79b8G0PlMFVvYkyw5xMXzmS\/5wHuHSDU2xMDePTDDoxNHae4vmqrx+WMgT5M81CWQl\/Jyv+Qo\/bTj2UGgWwyQpn3TrMbxeB+sNKvBHAiBAG1nS2Q5JmPkpNcYZXQSu1JjDa+eDXuUlpeBl+qRN4wwjIrCZVAYdyGEVsMN461ajPIjrx8uwaBNDlT348tA9vKvADG4na33OK\/wK0fM8d+IzktB8OxzLNTxAl6jN6u9CdWTLW1rixFGA8dHqv4RorX2DYIbZSclw4vS2vJrdDBLOuzE28sNZTAhA5I9MSqZkusMXfrua9KS+yiNwXeSWoaj5\/DZ452nhfKtJWujRj5rjxI+y3s9e5+\/E7+pFvI8WsDOPyURSkb\/aDZXshpr1IWyHlDCVrF7OdPZ7dYpfnEYsvRrDIPhkl3vjwtCV8LlaGR0nRZWINBBCQvGcefbIAgAdRYOsxbpJxiKNjKL\/ckPIa4c2QdzlaVHyvrtmwOOr2KLADIxNqzVG+b5n0Fw4ERXFd3F\/+HEi8bfeXHBDfmTny9Az989dE1CffiyFR\/BtiZr85BpGgooTI\/C4arlmDtZMqArN0m5lb5IBbrxiQ4F5jRfSai+hwMziJtCRKj1LzXyVP4is+GXRN9MkSvu7qnwkCmmXLHArQD6qs3FP\/yO6mplr494Q0YfAm0EGcIeph1lIKT6c+zVlzTxgZnWGzgoVJ9SwtDSOmG1Njm8ZXD1HeoqRO3b8LcWuKYScJqmplk3HlfwNvzlPhDaiSlvESsi4CpbDWeBhaU0vDoYva8MwAd6q3Bo8ePnp941fidcfIJV176wzQdixhLuYje4RzoYMl9fAKd4ns6LLDLEyMv65T3xAykoXWyjI+RS6MZtwob9JWt+gUkXQMoI41re0\/w0MPGrJX09M+K7eCVZNGZmJ7I0DpvclVVCRT17BGUjoLd+9TvOi\/bWlnTd29b0TqP0hVI9hgCY\/0F9B5kYQNKvGNjUtXqIEiIEZEHE9tmBaWwnSmiZ4qgiTTCoiiZm4IJ7yPIFNkgdGkQkgLGbn7tVNyjDasLWcFZ9jmj8PYE6a4fQ3BtT3RGXCRm5v6JNEvo42pi6yOmBzZy2hdIkwKGtQT\/JNH3HccgyiPjz4JIuU\/LRhgxyPu5TdD29vAaCS5XhfkMDxIiMOWZcNkyeDUez9DHx7XFnJn6b89541ZJewkZjZHf5TxZAPEG7oM6eEX4e9tA\/SpQ8uuNyyrZ1EbCrWe\/AtjNd\/seXw8Nrfy34SpgvbsfdPR1gIk6fjD2TfVR\/JBPlEyJxoxFaU1jQ3550pahTtMDtDEgManoqNL4+ux+cvVJoTwOrf4rt4xzfdy+4H8b508dhdBZAHyUa3A2ipmeYc8bIWKNt6AdS6DjrqYRvfoifod1lsDqU7xhIo+LnIE6F5p+jF+QYe+VwTJ\/yIp+o8JUyxqJv\/N3j4j3cH\/EVQDon7Mxtsh1nYW598eMzeQVmrfydwUo9E73C6yp4xtLR0sKEbkJfczx53lPNpFxm7wZxBLao35p0Pawa30YJwTmCLG9iVbC3YKaWEvki6YI4ZgUQvemSkZDEtfJmo5b0FP9ih\/1soqWKbXgW1lEr86oDmRHiFwxONgyvzgXmN0mITkYN4Wtxu6jMWZ&#34;}</span></code><code><span class="code-snippet_outer">  };</span></code><code><span class="code-snippet_outer">  base64_len = mc_base64(base64_fingerPrintData, strlen(base64_fingerPrintData[0]), outdata, 0);</span></code><code><span class="code-snippet_outer">  if (0 == base64_len) {</span></code><code><span class="code-snippet_outer">    printf(&#34;mc_base64 error!\n&#34;);</span></code><code><span class="code-snippet_outer">    return -1;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  aesret = aes_decrypt_cbc(outdata, base64_len, out_ciphertext[0], key_schedule, 128, iv[0]);</span></code><code><span class="code-snippet_outer">  if (1 != aesret) {</span></code><code><span class="code-snippet_outer">    printf(&#34;aes_decrypt_cbc error!\n&#34;);</span></code><code><span class="code-snippet_outer">    return -1;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  /* 解压缩 */</span></code><code><span class="code-snippet_outer">  uLong blen;</span></code><code><span class="code-snippet_outer">  uLong dslen;</span></code><code><span class="code-snippet_outer">  BYTE un_outdata[10434] = { 0 };</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  blen = compressBound(base64_len);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  if (uncompress(un_outdata, &amp;dslen, out_ciphertext[0], blen) != Z_OK)</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    printf(&#34;uncompress failed!\n&#34;);</span></code><code><span class="code-snippet_outer">    return -1;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  printf(&#34;fingerPrintData: %s\n&#34;, un_outdata);</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密出来的数据与上面分析的组合设备指纹json是一样的，解密成功，如图7-1所示:</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-fileid="100000375" data-ratio="0.275" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=49ced918&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVgLXa1C3iaQBs3xiaWGByRqhiaBGjiaOI0lqRFUdxPDeRE92lADiaA1Z5s8mBvpmHaUTb7pP2ouRDSVJw%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图7-1<br/></p><h3 data-source-line="2485" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="color: rgb(61, 167, 66);">八、总结</span></h3><p data-source-line="2486" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">我从分析的角度说下自己的看法，不对的地方还请指正，抗分析能力一般，代码混淆规律性很强，字符串加密方法用的一个容易被一次性还原。获取设备信息过于频繁，影响性能，回到开始说的风控在业务中的作用，大部分用户使用生鲜类APP时的目的性比较强，业务在拉新促活增加用户粘性的同时高质量留存与业务安全更是重中之重，所以产品流畅的用户体验是促进高留存的重要条件之一。<br style="box-sizing: border-box;"/>还有一些隐藏的彩蛋比较有意思，感兴趣的可以去自行分析。<br style="box-sizing: border-box;"/></p><p data-source-line="2489" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">样本太大，获取方式，关注公众号，公众号输入框回复“mc” 获取下载链接。<br style="box-sizing: border-box;"/></p><p data-source-line="2491" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">作者简介：<br style="box-sizing: border-box;"/>我是小三，目前从事软件安全相关工作，虽己工作多年，但内心依然有着执着的追求，信奉终身成长，不定义自己，热爱技术但不拘泥于技术，爱好分享，喜欢读书和乐于结交朋友，欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)</p><p><br/></p>



<p><a href="2247484027">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=dc5620d0&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247484027%26idx%3D1%26sn%3Da99995e9ffc7d6557d2bf6d0a1c7419e%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 04 Nov 2021 03:30:00 +0800</pubDate>
    </item>
    <item>
      <title>外买APP设备指纹风控分析三(设备指纹)</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483992&amp;idx=1&amp;sn=0aea1be50ca1bc2945ec504d620038dd</link>
      <description>设备指纹技术是使用更多的信息来完成对终端设备的唯一性识别，在业务中可以有效辨别设备是真实用户还是机器在注册、登录，及时检测出单设备登入多帐号、防止批量注册、登录等操作行为。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-10-01 00:00</span> <span style="display: inline-block;"></span>
</p>

<p>设备指纹技术是使用更多的信息来完成对终端设备的唯一性识别，在业务中可以有效辨别设备是真实用户还是机器在注册、登录，及时检测出单设备登入多帐号、防止批量注册、登录等操作行为。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=fa07ae05&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibU4rRxiclW8aJSibKJWX0D5UoSSjpgZHMPsNGrrGJCYMUdcWD5PfT9D0DuGujqOa0L5ysOtryn1nW5w%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<h3 data-source-line="2334" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">六、设备指纹分析</span></h3><h4 data-source-line="2335" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">6.1、dfpid基本流程</span></h4><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">java层调用fetchDfpId()获取dfpid</span></p><pre data-source-line="2338" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">public boolean fetch<span style="box-sizing: border-box;">DfpId(<span style="box-sizing: border-box;">boolean</span> <span style="box-sizing: border-box;">arg13</span>)</span> {<br/>        Object<span style="box-sizing: border-box;color: rgb(0, 128, 128);">[]</span> v8 = <span style="box-sizing: border-box;font-weight: bold;">new</span> Object<span style="box-sizing: border-box;color: rgb(0, 128, 128);">[]</span>{((byte)(((byte)arg13)))};<br/>        ChangeQuickRedirect v10 = <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">DFPManager</span>.</span>changeQuickRedirect;<br/>        <span style="box-sizing: border-box;font-weight: bold;">if</span>(<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>is<span style="box-sizing: border-box;">Support(<span style="box-sizing: border-box;">v8</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v10</span>, <span style="box-sizing: border-box;">false</span>, &#34;19489f6702cf81011acff69ff203e6a7&#34;, 0x4000000000000000L)</span>) {<br/>            return ((Boolean)<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>access<span style="box-sizing: border-box;">Dispatch(<span style="box-sizing: border-box;">v8</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v10</span>, <span style="box-sizing: border-box;">false</span>, &#34;19489f6702cf81011acff69ff203e6a7&#34;)</span>).boolean<span style="box-sizing: border-box;">Value()</span>;<br/>        }<br/>        <span style="box-sizing: border-box;font-weight: bold;">try</span> {<br/>            <span style="box-sizing: border-box;font-weight: bold;">if</span>(this.is<span style="box-sizing: border-box;">OutDate()</span>) {<br/>            label_49:<br/>                <span style="box-sizing: border-box;font-weight: bold;">if</span>(!this.post<span style="box-sizing: border-box;">DFPID(<span style="box-sizing: border-box;">this</span>.<span style="box-sizing: border-box;">encDfpDataForId</span>()</span>)) {  <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">// 服务器获取</span><br/>                    this.ensure<span style="box-sizing: border-box;">LocalID()</span>;  <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">// 读取本地ID</span><br/>                }<br/>            }<br/>            <span style="box-sizing: border-box;font-weight: bold;">else</span> {<br/>                <span style="box-sizing: border-box;font-weight: bold;">if</span>(arg13) {<br/>                    goto label_49;<br/>                }<br/>                String v4 = this.idStore.get<span style="box-sizing: border-box;">LocalDFPId()</span>;<br/>                <span style="box-sizing: border-box;font-weight: bold;">if</span>(!<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">TextUtils</span>.</span>is<span style="box-sizing: border-box;">Empty(<span style="box-sizing: border-box;">v4</span>)</span>) {<br/>                    goto label_38;<br/>                }<br/>                <span style="box-sizing: border-box;font-weight: bold;">if</span>(!this.post<span style="box-sizing: border-box;">DFPID(<span style="box-sizing: border-box;">this</span>.<span style="box-sizing: border-box;">encDfpDataForId</span>()</span>)) {<br/>                    this.ensure<span style="box-sizing: border-box;">LocalID()</span>;<br/>                    return <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>;<br/>                label_38:<br/>                    this.idCallback.on<span style="box-sizing: border-box;">Success(<span style="box-sizing: border-box;">v4</span>, ((<span style="box-sizing: border-box;">long</span>)</span>DFPManager.ONE_HOUR)<span style="box-sizing: border-box;"> * </span>((long)this.idStore.get<span style="box-sizing: border-box;">Interval()</span>) + ((long)this.idStore.get<span style="box-sizing: border-box;">LastUpdateTime()</span>), <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;get dfp from local store&#34;</span>);<br/>                    long v7 = <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">System</span>.</span>current<span style="box-sizing: border-box;">TimeMillis()</span>;<br/>                    this.<span style="box-sizing: border-box;font-weight: bold;">do</span><span style="box-sizing: border-box;">Persistence(<span style="box-sizing: border-box;">v4</span>, <span style="box-sizing: border-box;">this</span>.<span style="box-sizing: border-box;">idStore</span>.<span style="box-sizing: border-box;">getInterval</span>()</span>.long<span style="box-sizing: border-box;">Value()</span>, v7);<br/>                    return <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>;<br/>                }<br/>            }<br/>        }<br/>        catch(Throwable unused_ex) {<br/>        }<br/>        return <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>;<br/>    }</code></pre><p data-source-line="2380" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">调用encDfpDataForId()方法走到Native层获取请求体</p><pre data-source-line="2381" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">    public String enc<span style="box-sizing: border-box;">DfpDataForId()</span> {<br/>        Object<span style="box-sizing: border-box;color: rgb(0, 128, 128);">[]</span> v8 = <span style="box-sizing: border-box;font-weight: bold;">new</span> Object<span style="box-sizing: border-box;color: rgb(0, 128, 128);">[<span style="box-sizing: border-box;">0</span>]</span>;<br/>        ChangeQuickRedirect v9 = <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">DFPManager</span>.</span>changeQuickRedirect;<br/>        <span style="box-sizing: border-box;font-weight: bold;">if</span>(<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>is<span style="box-sizing: border-box;">Support(<span style="box-sizing: border-box;">v8</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v9</span>, <span style="box-sizing: border-box;">false</span>, &#34;c899af894ac6d9a1a9df952ed8770d17&#34;, 0x4000000000000000L)</span>) {<br/>            return (String)<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>access<span style="box-sizing: border-box;">Dispatch(<span style="box-sizing: border-box;">v8</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v9</span>, <span style="box-sizing: border-box;">false</span>, &#34;c899af894ac6d9a1a9df952ed8770d17&#34;)</span>;<br/>        }<br/>        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">FamaCollector</span>.</span>hasCollected = <span style="box-sizing: border-box;color: rgb(0, 128, 128);">true</span>;<br/>        return <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">NBridge</span>.</span>main1(<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>, <span style="box-sizing: border-box;font-weight: bold;">new</span> Object<span style="box-sizing: border-box;color: rgb(0, 128, 128);">[<span style="box-sizing: border-box;">0</span>]</span>);  <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">// 请求体</span><br/>    }<br/></code></pre><p data-source-line="2394" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">调用postDFPID(String arg12)发送网络请求获取dfpid</p><pre data-source-line="2395" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 0, 128);">url</span>: <a href="https://appsec-mobile.meituan.com/v5/sign" target="_blank">https://appsec-mobile.meituan.com/v5/sign</a><br/><span style="box-sizing: border-box;">  public boolean post<span style="box-sizing: border-box;">DFPID(String <span style="box-sizing: border-box;">arg12</span>)</span> {<br/>        Object[] v0 = new Object[]{null};<br/>        v0[<span style="box-sizing: border-box;">0</span>] = arg12;<br/>        ChangeQuickRedirect v9 = <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>changeQuickRedirect;<br/>        if(<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>is<span style="box-sizing: border-box;">Support(<span style="box-sizing: border-box;">v0</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v9</span>, <span style="box-sizing: border-box;">false</span>, &#34;f625ba5594fc8256be5f644877e817ae&#34;, 0x4000000000000000L)</span>) {<br/>            return ((Boolean)<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>access<span style="box-sizing: border-box;">Dispatch(<span style="box-sizing: border-box;">v0</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v9</span>, <span style="box-sizing: border-box;">false</span>, &#34;f625ba5594fc8256be5f644877e817ae&#34;)</span>).boolean<span style="box-sizing: border-box;">Value()</span>;<br/>        }<br/>        Interceptor v0_1 = this.get<span style="box-sizing: border-box;">Interceptor()</span>;<br/>        String v1 = this.get<span style="box-sizing: border-box;">MtgVersion()</span>;<br/>        DFPReporter v0_2 = new <span style="box-sizing: border-box;">Builder()</span>.add<span style="box-sizing: border-box;">Interceptor(<span style="box-sizing: border-box;">v0_1</span>)</span>.add<span style="box-sizing: border-box;">ResponseParser(<span style="box-sizing: border-box;">new</span> IResponseParser()</span> {<br/>            public static ChangeQuickRedirect changeQuickRedirect;<br/>            @Override  // com.meituan.android.common.dfingerprint.network.IResponseParser<br/>            public boolean on<span style="box-sizing: border-box;">Error(Call <span style="box-sizing: border-box;">arg11</span>, IOException <span style="box-sizing: border-box;">arg12</span>)</span> {<br/>                Object[] v0 = new Object[]{arg11, arg12};<br/>                ChangeQuickRedirect v12 = com.meituan.android.common.dfingerprint.interfaces.IDFPManager.1.changeQuickRedirect;<br/>                if(<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>is<span style="box-sizing: border-box;">Support(<span style="box-sizing: border-box;">v0</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v12</span>, <span style="box-sizing: border-box;">false</span>, &#34;0231e3e90aba1d77b6009d4f4e808ce1&#34;, 0x4000000000000000L)</span>) {<br/>                    return ((Boolean)<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>access<span style="box-sizing: border-box;">Dispatch(<span style="box-sizing: border-box;">v0</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v12</span>, <span style="box-sizing: border-box;">false</span>, &#34;0231e3e90aba1d77b6009d4f4e808ce1&#34;)</span>).boolean<span style="box-sizing: border-box;">Value()</span>;<br/>                }<br/>                <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">Logger</span>.</span>log<span style="box-sizing: border-box;">D(&#34;/v5/sign onError&#34;)</span>;<br/>                <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.ensure<span style="box-sizing: border-box;">LocalID()</span>;<br/>                return 1;<br/>            }<br/>            @Override  // com.meituan.android.common.dfingerprint.network.IResponseParser<br/>            public boolean on<span style="box-sizing: border-box;">Response(Response <span style="box-sizing: border-box;">arg23</span>, <span style="box-sizing: border-box;">long</span> <span style="box-sizing: border-box;">arg24</span>, <span style="box-sizing: border-box;">int</span> <span style="box-sizing: border-box;">arg26</span>)</span> {<br/>                String v2_1;<br/>                long interval;<br/>                String dfpid;<br/>                ResponseBody body;<br/>                Object[] v11 = new Object[]{arg23, new <span style="box-sizing: border-box;">Long(<span style="box-sizing: border-box;">arg24</span>)</span>, ((int)arg26)};<br/>                ChangeQuickRedirect v14 = com.meituan.android.common.dfingerprint.interfaces.IDFPManager.1.changeQuickRedirect;<br/>                if(<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>is<span style="box-sizing: border-box;">Support(<span style="box-sizing: border-box;">v11</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v14</span>, <span style="box-sizing: border-box;">false</span>, &#34;cfa6814ee923204fe513080ced241785&#34;, 0x4000000000000000L)</span>) {<br/>                    return ((Boolean)<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">PatchProxy</span>.</span>access<span style="box-sizing: border-box;">Dispatch(<span style="box-sizing: border-box;">v11</span>, <span style="box-sizing: border-box;">this</span>, <span style="box-sizing: border-box;">v14</span>, <span style="box-sizing: border-box;">false</span>, &#34;cfa6814ee923204fe513080ced241785&#34;)</span>).boolean<span style="box-sizing: border-box;">Value()</span>;<br/>                }<br/>                <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">Logger</span>.</span>log<span style="box-sizing: border-box;">D(&#34;/v5/sign onResponse $response&#34;)</span>;<br/>                if(arg23<span style="box-sizing: border-box;"> == </span>null) {<br/>                    return 0;<br/>                }<br/>                if(arg23.code() != 200) {<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">MTGlibInterface</span>.</span>raptor<span style="box-sizing: border-box;">API(&#34;v5_/v5/sign&#34;, <span style="box-sizing: border-box;">arg23</span>.<span style="box-sizing: border-box;">code</span>()</span>, arg26, 0, <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">System</span>.</span>current<span style="box-sizing: border-box;">TimeMillis()</span> - arg24);<br/>                    return 0;<br/>                }<br/>                try {<br/>                    body = arg23.body();<br/>                    if(body<span style="box-sizing: border-box;"> == </span>null) {<br/>                        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.idCallback.on<span style="box-sizing: border-box;">Failed(-3, &#34;request body is invalid&#34;)</span>;<br/>                        return 0;<br/>                    }<br/>                    String v3 = new <span style="box-sizing: border-box;">String(<span style="box-sizing: border-box;">body</span>.<span style="box-sizing: border-box;">bytes</span>()</span>);<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">MTGlibInterface</span>.</span>raptor<span style="box-sizing: border-box;">API(&#34;v5_/v5/sign&#34;, <span style="box-sizing: border-box;">arg23</span>.<span style="box-sizing: border-box;">code</span>()</span>, arg26, v3.length(), <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">System</span>.</span>current<span style="box-sizing: border-box;">TimeMillis()</span> - arg24);<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">Logger</span>.</span>log<span style="box-sizing: border-box;">D(&#34;RaptorMonitorService &gt;&gt; ${RaptorUtil.API_reportdfpidsync}&#34;)</span>;<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">Logger</span>.</span>log<span style="box-sizing: border-box;">D(&#34;RaptorMonitorService result&gt;&gt; ${result}&#34;)</span>;<br/>                    if(v3.is<span style="box-sizing: border-box;">Empty()</span>) {<br/>                        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.idCallback.on<span style="box-sizing: border-box;">Failed(-3, &#34;request body is invalid&#34;)</span>;<br/>                        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">MTGlibInterface</span>.</span>raptor<span style="box-sizing: border-box;">API(&#34;v5_/v5/sign&#34;, 9401, <span style="box-sizing: border-box;">arg26</span>, 0, System.<span style="box-sizing: border-box;">currentTimeMillis</span>()</span> - arg24);<br/>                        return 0;<br/>                    }<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">Logger</span>.</span>log<span style="box-sizing: border-box;">D(&#34;/v5/sign response.body() &gt;&gt; $result&#34;)</span>;<br/>                    DFPResponse body_json = (DFPResponse)new <span style="box-sizing: border-box;">Gson()</span>.from<span style="box-sizing: border-box;">Json(<span style="box-sizing: border-box;">v3</span>, DFPResponse.<span style="box-sizing: border-box;">class</span>)</span>;<br/>                    if(body_json<span style="box-sizing: border-box;"> == </span>null) {<br/>                        goto label_145;<br/>                    }<br/>                    if(body_json.code<span style="box-sizing: border-box;"> == </span>0xFFFFFF80) {<br/>                        goto label_145;<br/>                    }<br/>                    int v3_1 = body_json.code;<br/>                    if(v3_1 != 0) {<br/>                        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.idCallback.on<span style="box-sizing: border-box;">Failed(<span style="box-sizing: border-box;">v3_1</span>, <span style="box-sizing: border-box;">body_json</span>.<span style="box-sizing: border-box;">message</span>)</span>;<br/>                        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">MTGlibInterface</span>.</span>raptor<span style="box-sizing: border-box;">API(&#34;v5_/v5/sign&#34;, 9402, <span style="box-sizing: border-box;">arg26</span>, 0, System.<span style="box-sizing: border-box;">currentTimeMillis</span>()</span> - arg24);<br/>                        return 0;<br/>                    }<br/>                    dfpid = body_json.data.dataDfp;<br/>                    interval = body_json.data.dataInterval;<br/>                    v2_1 = body_json.message;<br/>                }<br/>                catch(Exception unused_ex) {<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.ensure<span style="box-sizing: border-box;">LocalID()</span>;<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">MTGlibInterface</span>.</span>raptor<span style="box-sizing: border-box;">API(&#34;v5_/v5/sign&#34;, 9405, <span style="box-sizing: border-box;">arg26</span>, 0, System.<span style="box-sizing: border-box;">currentTimeMillis</span>()</span> - arg24);<br/>                    return 0;<br/>                }<br/>                try {<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">Logger</span>.</span>log<span style="box-sizing: border-box;">D(&#34;/v5/sign response, dataDecrypt &gt; $dataDecrypt&#34;)</span>;<br/>                }<br/>                catch(Exception unused_ex) {<br/>                }<br/>                try {  // 如果等空读取本地的<br/>                    if(dfpid<span style="box-sizing: border-box;"> == </span>&#34;&#34;) {  // 如果等空读取本地的<br/>                        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.ensure<span style="box-sizing: border-box;">LocalID()</span>;<br/>                    }<br/>                    else {<br/>                        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">Logger</span>.</span>log<span style="box-sizing: border-box;">D(&#34;/v5/sign 返回新的 local_dfp_id，需要保存它&#34;)</span>;<br/>                        long currtime = <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">System</span>.</span>current<span style="box-sizing: border-box;">TimeMillis()</span>;<br/>                        if(<span style="box-sizing: border-box;"><span style="box-sizing: border-box;">DFPConfigs</span>.</span>isDfpidFirst) {<br/>                            <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">MTGlibInterface</span>.</span>raptor<span style="box-sizing: border-box;">FakeAPI(&#34;v5_dfpid_duration&#34;, 200, System.<span style="box-sizing: border-box;">currentTimeMillis</span>()</span> - <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">MTGuard</span>.</span>sFirstLaunchTime);<br/>                            <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">DFPConfigs</span>.</span>isDfpidFirst = false;<br/>                        }<br/>                        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.do<span style="box-sizing: border-box;">Persistence(<span style="box-sizing: border-box;">dfpid</span>, <span style="box-sizing: border-box;">interval</span>, <span style="box-sizing: border-box;">currtime</span>)</span>;  // 保存dfpid<br/>                        <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.idCallback.on<span style="box-sizing: border-box;">Success(<span style="box-sizing: border-box;">dfpid</span>, <span style="box-sizing: border-box;">interval</span> <span style="box-sizing: border-box;">*</span> ((<span style="box-sizing: border-box;">long</span>)</span>IDFPManager.ONE_HOUR) + currtime, v2_1);<br/>                    }<br/>                    body.close();<br/>                    return 1;<br/>                label_145:<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.idCallback.on<span style="box-sizing: border-box;">Failed(-4, &#34;body parse failed&#34;)</span>;<br/>                }<br/>                catch(Exception unused_ex) {<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">IDFPManager</span>.</span>this.ensure<span style="box-sizing: border-box;">LocalID()</span>;<br/>                    <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">MTGlibInterface</span>.</span>raptor<span style="box-sizing: border-box;">API(&#34;v5_/v5/sign&#34;, 9405, <span style="box-sizing: border-box;">arg26</span>, 0, System.<span style="box-sizing: border-box;">currentTimeMillis</span>()</span> - arg24);<br/>                }<br/>                return 0;<br/>            }<br/>        }).build();<br/>        try {<br/>            ReqeustBody v2 = new <span style="box-sizing: border-box;">ReqeustBody(<span style="box-sizing: border-box;">arg12</span>, <span style="box-sizing: border-box;">v1</span>, <span style="box-sizing: border-box;">null</span>)</span>;<br/>            Gson v12 = new <span style="box-sizing: border-box;">GsonBuilder()</span>.disable<span style="box-sizing: border-box;">HtmlEscaping()</span>.create();<br/>            if(v12 != null) {<br/>                String v12_1 = v12.to<span style="box-sizing: border-box;">Json(<span style="box-sizing: border-box;">v2</span>)</span>;<br/>                <span style="box-sizing: border-box;"><span style="box-sizing: border-box;">Logger</span>.</span>log<span style="box-sizing: border-box;">D(&#34;postDFPID body &gt; $body&#34;)</span>;<br/>                return v0_2.report<span style="box-sizing: border-box;">DFPIDSync(<span style="box-sizing: border-box;">v12_1</span>, ContentType.<span style="box-sizing: border-box;">application_json</span>)</span>;  // 网络请求<br/>            }<br/>        }<br/>        catch(Exception unused_ex) {<br/>        }<br/>        return false;<br/>    }</span></code></pre><h4 data-source-line="2540" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">6.2、dfpid请求体分析</span></h4><p data-source-line="2541" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">请求体调用Native层方法NBridge.main(41, new Object[0])在Native层计算得到<br style="box-sizing: border-box;"/>循环获取设备信息</p><pre data-source-line="2544" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="box-sizing: border-box;color: rgb(153, 0, 115);">text</span>:C8A8C684 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x24</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C686 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F0</span> CD FF <span style="box-sizing: border-box;font-weight: bold;">BL </span>             getmContext_sub_CC9EF624 <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; 获取上下文件</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C68A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span>       <span style="box-sizing: border-box;font-weight: bold;">STR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x1C</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C68C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F0</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> FE <span style="box-sizing: border-box;font-weight: bold;">BL </span>             init_DecString_sub_C84582B8<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C690 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span>       <span style="box-sizing: border-box;font-weight: bold;">STR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x18</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C692 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B A8       <span style="box-sizing: border-box;font-weight: bold;">ADD </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0xAC</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C694 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span>       <span style="box-sizing: border-box;font-weight: bold;">STR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x14</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C696 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x24</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C698 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>A       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R2</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x1C</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C69A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R3</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R5</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C69C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span> <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F0</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A FC <span style="box-sizing: border-box;font-weight: bold;">BL </span>             GetDeviceInfo_dispatch_loop_sub_C89F8F94 <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; 获取设备信息1</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x18</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R5</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>A       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R2</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x14</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6A6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span> <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F0</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>D FF <span style="box-sizing: border-box;font-weight: bold;">BL </span>             jmp_checkField_sub_C89F65C4 <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; 判断获取的内容是否为特殊字符mtg_unsupport,mtg_block,setup_empty</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0xAC</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x10</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6AE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span>       <span style="box-sizing: border-box;font-weight: bold;">ADDS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span> A9       <span style="box-sizing: border-box;font-weight: bold;">ADD </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x9C</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6B2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F0</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> F8 <span style="box-sizing: border-box;font-weight: bold;">BL </span>             free_sub_B2943748<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6B6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x1C</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>       <span style="box-sizing: border-box;font-weight: bold;">CMP </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6BA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 134, 179);">D1</span>       <span style="box-sizing: border-box;font-weight: bold;">BNE </span>            loc_C8A8C6BE<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8A8C6BC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C E7       <span style="box-sizing: border-box;font-weight: bold;">B </span>              loc_C8A8C558<br/></code></pre><p data-source-line="2570" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">在下面地方下好断点跳到获取设备信息的地方，可以绕过代码流程混淆，快速定位到想要获取设备信息的方法：</p><pre data-source-line="2571" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AB5134 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       <span style="box-sizing: border-box;font-weight: bold;">LSLS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#2</span>              <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; 跳到真实执行方法</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AB5136 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 134, 179);">A1</span>       <span style="box-sizing: border-box;font-weight: bold;">ADR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, loc_C8AB5140<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AB5138 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>,<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>]             <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; 取方法表偏移</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AB513A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span>       <span style="box-sizing: border-box;font-weight: bold;">ADDS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AB513C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">87</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>       <span style="box-sizing: border-box;font-weight: bold;">MOV </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">PC</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span><br/></code></pre><p data-source-line="2578" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">获取完设备信息后组合成json，主要获取硬件类ID、imei、mac,系统属性、CPU、内存、陀螺仪传感器等<br style="box-sizing: border-box;"/></p><pre data-source-line="2580" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">{<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m20&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;3&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m22&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m24&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;-1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m25&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m26&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m27&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;DAD703FB1B789AFCFA0CAD4778CF9C8D0146219F941D41B66617A73F&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m28&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m29&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;28.5&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m30&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m31&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m32&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m33&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m34&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m35&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m36&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m37&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m38&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m39&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Google&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m40&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m41&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m42&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m43&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;23132356608&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m44&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1230796800000&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m45&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m46&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m47&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;android&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m48&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m49&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;nonetwork&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m50&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;user&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m51&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m52&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;google&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m53&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;unknown&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m54&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;adb&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m55&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;{\&#34;</span>data\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:[36.107063],\&#34;</span>name\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>TMD4903LightSensor\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>vendor\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>AMS\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;}&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m56&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;google/sailfish/sailfish:9/PQ2A.190305.002/5240760:user/release-keys&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m57&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;[{\&#34;</span>ssid\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>2F16C2\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>bssid\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span><span style="box-sizing: border-box;font-weight: bold;">cc</span>:ee:07:2f:16:c2\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;},{\&#34;</span>ssid\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>2F16C2\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>bssid\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span><span style="box-sizing: border-box;font-weight: bold;">cc</span>:ee:07:2f:16:c2\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;},{\&#34;</span>ssid\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>JinRong\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>bssid\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span><span style="box-sizing: border-box;font-weight: bold;">cc</span>:e9:e4:84:<span style="box-sizing: border-box;font-weight: bold;">cc</span>:76\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;}]&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m58&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;unknown&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m59&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m60&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;2283765760&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m61&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;[1,BMI160accelerometer,1,Bosch,156,2500,0,0,4,BMI160gyroscope,1,Bosch,17,2500,0,0,2,AK09915magnetometer,1,AKM,1300,20000,0,0,6,BMP285pressure,1,Bosch,1100,100000,0,0,65536,BMP285temperature,1,Bosch,85,40000,0,0,8,TMD4903ProximitySensor,1,AMS,5,200000,0,1,5,TMD4903LightSensor,1,AMS,43000,200000,0,10,3,Orientation,1,Google,360,5000,0,1,18,BMI160Stepdetector,1,Bosch,1,0,0,1,17,Significantmotion,1,Google,1,-1,0,1,9,Gravity,1,Google,1000,5000,0,1,10,LinearAcceleration,1,Google,1000,5000,0,1,11,RotationVector,1,Google,1000,5000,0,1,20,GeomagneticRotationVector,1,Google,1000,5000,0,1,15,GameRotationVector,1,Google,1000,5000,0,1,25,PickupGesture,1,Google,1,-1,0,1,22,TiltDetector,1,Google,1,0,0,1,19,BMI160Stepcounter,1,Bosch,1,0,0,1,14,AK09915magnetometer(uncalibrated),1,AKM,1300,20000,0,0,16,BMI160gyroscope(uncalibrated),1,Bosch,17,2500,0,0,65537,SensorsSync,1,Google,1,0,0,1,65538,DoubleTwist,1,Google,1,0,0,1,65539,DoubleTap,1,Google,1,0,0,1,27,DeviceOrientation,1,Google,3,0,0,1,65540,DoubleTouch,1,Google,1,-1,0,1,35,BMI160accelerometer(uncalibrated),1,Bosch,156,2500,0,0,32,DynamicSensorManager,1,Google,1,1000,0,1]&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m62&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m63&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m64&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m65&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m66&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Bosch&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m67&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;unknown&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m68&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m69&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;352531086839980&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m70&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;sailfish&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m71&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Gravity&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m72&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m73&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.qihoo.appstore-bin.mt.plus-cn.tongdun.sdkdemo-com.arcsoft.arcfacedemo-com.baidu.idl.face.demo-com.bjgas.shop-com.duapps.gif.emoji.gifmaker-com.mv.livebodyexample-com.sankuai.meituan-com.songheng.wubiime&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m74&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;FA7740302912&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m75&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;unknown&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m76&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;QualcommRIL1.0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m77&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;BMI160accelerometer&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m78&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.android.chrome-com.android.settings-com.android.vending-com.google.android.GoogleCamera-com.google.android.apps.docs-com.google.android.apps.maps-com.google.android.apps.messaging-com.google.android.apps.photos-com.google.android.calendar-com.google.android.contacts&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m79&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;midi,adb&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m80&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m81&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;8996-130181-1811270246&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m82&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;32&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m83&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;PQ2A.190305.002&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m84&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;midi,adb&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m85&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m86&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;PQ2A.190305.002&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m87&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;lac:40980,cid:3909155,rssi:22|lac:-1,cid:-1,rssi:20&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m88&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;cn&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m89&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;release-keys&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m90&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m91&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;unknown&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m92&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m93&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;{\&#34;</span>hashInfo\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:[],\&#34;</span>number\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:0}&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m94&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;sailfish&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m95&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m96&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;8996-012001-1812132253&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m97&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m98&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Google&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m99&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m100&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m101&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;CN&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m102&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m103&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;26109874176&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m104&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1593600&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m105&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;420&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m106&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m107&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;ac:37:43:df:02:7e&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m108&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;android-build&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m111&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;37cb81453cec878d&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m112&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;unknown&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m116&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;wlan0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m117&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1631706064788&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m122&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;AA==\n&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m123&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m125&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m126&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Dalvik/2.1.0(Linux;U;Android9;PixelBuild/PQ2A.190305.002)&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m127&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0.0000000000|0.0000000000&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m128&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;unknown&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m129&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m130&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m131&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;23132299264&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m132&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;26109874176&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m133&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m134&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;bus&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m135&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0.000000&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m136&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m137&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;3.18.122-g665c9a1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m138&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;[2,95]&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m139&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;4&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m140&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;arm64-v8a,armeabi-v7a,armeabi&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m141&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m142&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0.16470589&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m143&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m144&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;11.12.204&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m145&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;mtguard&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m146&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m147&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;sailfish&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m148&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1631706140783&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m149&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1631706064&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m150&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1631754658276&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m151&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;unknown&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m152&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;5.1.7&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m153&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m154&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.sankuai.meituan&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m155&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1629207179980&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m156&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m157&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;3948302336&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m158&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;sailfish&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m159&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;abfarm722&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m160&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;9&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m161&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m162&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;unknown&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m163&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m164&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;zh&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m165&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;[GMT+08:00,Asia/Shanghai]&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m166&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Pixel&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m167&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1080*1794&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m253&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m254&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m255&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m256&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m293&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;DAD7A2870A2DAAA2F67190B216A34A886A9E219F941D662641A653D9&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m241&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m242&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m245&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;{\&#34;</span>libc.<span style="box-sizing: border-box;font-weight: bold;">so</span>:\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>E5592D3E966419A89DEF46F6BE029015\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>libandroid.<span style="box-sizing: border-box;font-weight: bold;">so</span>:\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>libandroid_runtime.<span style="box-sizing: border-box;font-weight: bold;">so</span>:\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>2F4ADAB748DE1F97EACAC55B9584E504\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>libandroid_servers.<span style="box-sizing: border-box;font-weight: bold;">so</span>:\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>75AF8941A0B6C9A841C05442FE32CCFC\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>framework.jar:\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>services.jar:\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>core.jar:\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;}&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m246&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;ae:37:43:df:02:7e&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m247&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;35253108683998&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m289&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;352531086839980&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m290&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;352531086839980&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m294&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;{\&#34;</span>1\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>2\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>1|2|3\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>3\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>4\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>5\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>6\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>7\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>2\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>8\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>9\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>10\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>11\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>12\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>32\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>13\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>14\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>15\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>33\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:{\&#34;</span>0\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:2,\&#34;</span>1\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>2\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>3\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>4\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>2|22\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>5\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>6\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>7\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>8\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>9\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>10\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>11\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>12\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>13\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>14\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>2\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>15\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;}}&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m304&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;-1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m305&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1080*1920&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m217&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;1631706064788185&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m243&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;-1&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m244&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;{\&#34;</span>DCIM\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>00045F6737E705C00001C3B7F33CF3000005C810802CB9C0000083D1C295CA000005C810802CB9C0000083D1C295CA00\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>Android\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>00045F6737F648000002A40F89B18AC00005C5CB1C563D000000EE4ABA3499C00005C5CB1C563D000000EE4ABA3499C0\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>misc\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF540000037EFB50958800005BDC662F5BF40000263501EE0BE000005BDC662F5BF40000263501EE0BE00\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>settings\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>00045F67360E000000005AF31103944000045F67360E000000005AF31103944000045F67360E000000005AF311039440\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>saver\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF54000005F590941430000045F67377C360000014D7BCD19158000045F67377C360000014D7BCD191580\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>mtp\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF5400000CC7CB757DE0000045F67360E00000001EB208F56774000045F67360E00000001EB208F567740\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>calendar\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF54000008CD291CAAE4000045F6738AD630000019F5706658BC000045F6738AD630000019F5706658BC0\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>media\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF5400000B7440023B8000000225E8BD0FF0000037B4E60CF5D000000225E8BD0FF0000037E567AF07C40\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>misc_ce\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF540000062612371A48000045F6737D7C38000010AC9B10045C000057E646876D18000027F601A1B3540\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>rollback\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>system\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF54000005C50EF10E1800005CC17296EE1C0000373A4714044800005CC17296EE1C0000373A471404480\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>data\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF5400000687157C325400005CC0732B344C000001BE686FAA0400005CC0732B344C000001BE686FAA040\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>install_sessions\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF54000005F59094143000000225E8BD0FF00000329739E3E68C00000225E8BD0FF00000329739E3E68C0\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;,\&#34;</span>webview\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:\&#34;</span>0005BA6437AAF54000008CD291CAAE4000045F6737C88140000104B976B8E40000045F6737C88140000107C190DA0340\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;}&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m248&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;m307&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;{\&#34;</span>m34\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m40\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m41\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m46\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m58\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:2,\&#34;</span>m67\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:6,\&#34;</span>m68\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m75\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:6,\&#34;</span>m80\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m85\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m91\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:2,\&#34;</span>m92\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m97\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m99\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m112\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:3,\&#34;</span>m123\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m125\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m128\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:6,\&#34;</span>m129\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m130\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m133\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m136\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m151\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:2,\&#34;</span>m153\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m156\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m162\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:6,\&#34;</span>m253\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m254\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:7,\&#34;</span>m256\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:7,\&#34;</span>m241\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:7,\&#34;</span>m242\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5,\&#34;</span>m248\<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;:5}&#34;</span><br/>}</code></pre><h4 data-source-line="2740" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">6.3、加密设备数据</span></h4><p data-source-line="2741" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">解密PIC数据获取AES KEY, 解密后数据</p><pre data-source-line="2742" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">{<span style="box-sizing: border-box;">&#34;a1&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>,<span style="box-sizing: border-box;">&#34;a10&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">400</span>,<span style="box-sizing: border-box;">&#34;a2&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.sankuai.meituan&#34;</span>,<span style="box-sizing: border-box;">&#34;a11&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;c1ee9178c95d9ec75f0f076a374df94a032d54c8576298d4f75e653de3705449&#34;</span>,<span style="box-sizing: border-box;">&#34;a3&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0a16ecd60eb56a6a3349f66cdcf7f7bf5190e5a42d6280d8dc0ee3be228398ec&#34;</span>,<span style="box-sizing: border-box;">&#34;a4&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1100030200</span>,<span style="box-sizing: border-box;">&#34;k0&#34;</span>:{<span style="box-sizing: border-box;">&#34;k1&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;meituan1sankuai0&#34;</span>,<span style="box-sizing: border-box;">&#34;k2&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;meituan0sankuai1&#34;</span>,<span style="box-sizing: border-box;">&#34;k3&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;$MXMYBS@HelloPay&#34;</span>,<span style="box-sizing: border-box;">&#34;k4&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Maoyan010iauknaS&#34;</span>,<span style="box-sizing: border-box;">&#34;k5&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;34281a9dw2i701d4&#34;</span>,<span style="box-sizing: border-box;">&#34;k6&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;X%rj@KiuU+|xY}?f&#34;</span>},<span style="box-sizing: border-box;">&#34;a5&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;11.3.200&#34;</span>,<span style="box-sizing: border-box;">&#34;a0&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;pw/LhTdeoTTyaxPHcHMy+/ssGNS1ihNkrJ+uBI74FIfd90KlTil1m0i7FF/n0bhY&#34;</span>,<span style="box-sizing: border-box;">&#34;a6&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/HntC9XIfdUyII/UiVfx020EQPpHz2XZY3qzM2aiNmM0i0pB1yeSO689TY9SBB3s&#34;</span>,<span style="box-sizing: border-box;">&#34;a7&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;QsHnU6kFjTYR8Z6tHEvkGMO2Hrt+NRnVQhmxg6EtVBzuzQcBpma3AdhTWNMpesFT&#34;</span>,<span style="box-sizing: border-box;">&#34;c0&#34;</span>:{<span style="box-sizing: border-box;">&#34;c1&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">true</span>,<span style="box-sizing: border-box;">&#34;c2&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">false</span>},<span style="box-sizing: border-box;">&#34;a9&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;SDEzWXi5LHL/cuMCZ1zYyv+0hIViqWWf+ShbUYILWf4=&#34;</span>,<span style="box-sizing: border-box;">&#34;a8&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1603800117167</span>}</code></pre><p data-source-line="2745" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">解析json得到 aes key:meituan1sankuai0<br style="box-sizing: border-box;"/>AES加密设备json数据</p><pre data-source-line="2747" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="box-sizing: border-box;color: rgb(153, 0, 115);">IV</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0102030405060708</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA94EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+<span style="box-sizing: border-box;font-weight: bold;">byte_count] </span><span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; byte_count</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA94F0 E0 <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F7</span> FA EB <span style="box-sizing: border-box;font-weight: bold;">BLX </span>            malloc                  <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; 存放加密后数据</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA94F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA94F6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span>       <span style="box-sizing: border-box;font-weight: bold;">CMP </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA94F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C <span style="box-sizing: border-box;color: rgb(0, 134, 179);">D0</span>       <span style="box-sizing: border-box;font-weight: bold;">BEQ </span>            loc_C8AA9534<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA94FA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+arg_0]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA94FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span>       <span style="box-sizing: border-box;font-weight: bold;">STR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+var_114]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA94FE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> AE       <span style="box-sizing: border-box;font-weight: bold;">ADD </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+var_104<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9500 <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F4</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0xF4</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9502 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span>       <span style="box-sizing: border-box;font-weight: bold;">STR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+var_118]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9504 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9506 E0 <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F7</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> EC <span style="box-sizing: border-box;font-weight: bold;">BLX </span>            __aeabi_memclr4<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA950A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x80</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA950C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA950E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R2</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9510 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F0</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> FF <span style="box-sizing: border-box;font-weight: bold;">BL </span>             AES_set_Encrypt_key_sub_CB601374 <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; R0:key,R1:长度,R2:返回值</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9514 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>A       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R2</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+<span style="box-sizing: border-box;font-weight: bold;">byte_count]<br/></span><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9516 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">#1</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9518 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>       <span style="box-sizing: border-box;font-weight: bold;">MOV </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA951A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R3</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+var_110]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA951C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span>       <span style="box-sizing: border-box;font-weight: bold;">STR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R3</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+var_120]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA951E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span>       <span style="box-sizing: border-box;font-weight: bold;">STR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+var_11C]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9520 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+p]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9522 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+var_118]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9524 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9526 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R3</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9528 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F0</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A FD <span style="box-sizing: border-box;font-weight: bold;">BL </span>             AES_cbc_Encrypt_sub_CB602020 <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; R0：原始数据,R1:返回,R2:大小,R3:key</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA952C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+<span style="box-sizing: border-box;font-weight: bold;">byte_count]<br/></span><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA952E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+var_114]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9530 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span>       <span style="box-sizing: border-box;font-weight: bold;">STR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9532 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       <span style="box-sizing: border-box;font-weight: bold;">MOVS </span>           <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9534<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9534             loc_C8AA9534                            <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; CODE XREF: Aes_sub_CB5AA4B8+40↑j</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9534 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span>       <span style="box-sizing: border-box;font-weight: bold;">LDR </span>            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">SP</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">#0x120</span>+p]       <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; p</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text</span>:C8AA9536 E0 <span style="box-sizing: border-box;color: rgb(0, 134, 179);">F7</span> DE EB <span style="box-sizing: border-box;font-weight: bold;">BLX </span>            free<br/></code></pre><p data-source-line="2785" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">加密后数据(部分)</p><pre data-source-line="2786" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">C6A47000  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">96</span> CF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">82</span> B2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C D3 D7 DF A1  l.<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">ς</span> ..<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.9.7</span>......<br/>C6A47010  A1 D7 C5 C7 A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span>  F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>D F8 E3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">87</span>  ...<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">Ǣ</span> .!G....YUh.<br/>C6A47020  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> D2 C7 A5 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> B2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">86</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">86</span> AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  .....GQ.d..:..G6<br/>C6A47030  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span> F7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E  B7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> F5 E8 DE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span>  .&amp;....?N.CS....H<br/>C6A47040  FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D CC D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C D5 A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>A  .}.<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.0</span>..Y4l&lt;<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">դ</span> E..<br/>C6A47050  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B B5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">95</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F AF BE DB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> CB CD  i.I.....@?......<br/>C6A47060  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">85</span> A9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>F A0 A1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span>  .....C..,PS...m.<br/>C6A47070  DF F9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C E4 D8  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> E6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  ..#.d&lt;...VX.....<br/>C6A47080  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D A3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">92</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">85</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C EB BF  ..m..[<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>Pn.yn*l..<br/>C6A47090  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> F5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> F3 C3 F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> D4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> FB C1 D6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>A  Y.....=G.......:<br/>C6A470A0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>E A2 C0 DF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> B5 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  .M<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;"></span>  ...X.......<br/>C6A470B0  A4 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> BA C1 C7  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">96</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span>  ..G.h.......).H.<br/></code></pre><p data-source-line="2800" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">base64加密(部分)</p><pre data-source-line="2801" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">bJbPgrKIBjmNN+kc09ffoaHXxceiHyFH9I3441lVaIcT0selrUdRBGSyhjqGqkc2iib3A6BCP063Q1P16N6aSP99zNMwkRxZNGw81aRFrYppBknqG7WVf0A<span style="box-sizing: border-box;color: rgb(0, 153, 38);">/r77bGMvNhakFDgJDHBAsUFOfoKFtFN/</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>I5lkPOTYfFZYwDXmgTSbnG2jkls2UG6FeW4qbOu<span style="box-sizing: border-box;color: rgb(0, 153, 38);">/WfV388P4PUcE1FX7wdaNOg9N756iwN+TWLXheSLuamWkqEd/</span>aLrBxxmWip4pkEgHlLK14AbB68tlUvIauN50i<span style="box-sizing: border-box;color: rgb(0, 153, 38);">/KZVCun9lA13FmhY9t4JiZYMuQUiluXGtFLoVLUb3ybe9Uy156k8NFn8sZkCzx5I1nUFKEx2Mgb6Q+SDXY1r4TCh6jYCYd/</span>Dfr+n1ccN+Z7M8oceexb3KD+yapCYKvhj2sm5<span style="box-sizing: border-box;color: rgb(0, 153, 38);">/WptX+ncnTTalrLG8U53YZAJtwQ2NTZ/yu</span>VJWNpnEjRE3EI<br/></code></pre><p data-source-line="2804" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">返回java层组合请求体，计算请求头签名发送给服务器获取dfpid 请求体格式</p><pre data-source-line="2806" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">{<span style="box-sizing: border-box;">&#34;data&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Native加密的设备数据&#34;</span>,<span style="box-sizing: border-box;">&#34;dfpVersion&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;5.1.7&#34;</span>,<span style="box-sizing: border-box;">&#34;mtgVersion&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;5.1.7&#34;</span>,<span style="box-sizing: border-box;">&#34;os&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Android&#34;</span>,<span style="box-sizing: border-box;">&#34;time&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;2021-09-01 11:35:35&#34;</span>}<br/></code></pre><p data-source-line="2809" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">计算的请求头签名</p><pre data-source-line="2810" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">{<span style="box-sizing: border-box;">&#34;a0&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;2.0&#34;</span>,<span style="box-sizing: border-box;">&#34;a1&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;9b69f861-e054-4bc4-9daf-d36ae205ed3e&#34;</span>,<span style="box-sizing: border-box;">&#34;a3&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>,<span style="box-sizing: border-box;">&#34;a4&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1631778284</span>,<span style="box-sizing: border-box;">&#34;a5&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;A18ywLdCS48BnwSLKup0wrjB+dsq4S6V+9BZPtgOWyf76KKpdYv8xejvBBC8HE6C4uRAl79/X7icd48pdktGG8B0+yAbMGtUl5Ri2kQc4/RgxjDiN64MjMvus7Aok+9LqzRZW1W9Qj2yJoMyK7h57/+amTSLDqyUzbat6zAgCAdeZ/vbKk+34+NVNwoz7fMLqvRlGbTVLZddTFIQvzbs1rNC3eV7mH9ORw==&#34;</span>,<span style="box-sizing: border-box;">&#34;a6&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>,<span style="box-sizing: border-box;">&#34;a7&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;lpArUzLcl+lgZ9YXlGR9nPVqJMM2UvrBYyFRM2UsDIidftxLwpEOzzcZ7NPmHxahYSpXrJr/eHv4y2FmjsLwnykKopieCU4Prh4FskqVsRg=&#34;</span>,<span style="box-sizing: border-box;">&#34;a8&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;DAD796C46B5A6525F4B89DF661A97C7A218A219FC24B93F689DEBD92&#34;</span>,<span style="box-sizing: border-box;">&#34;a9&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;97a62b63j1IexpGhrGBYdWqnstTXCpGUZncRa5MAcc5LtAO65uXQ/gPQuhqUcACAU5Cstbgs/wxZr8oFrMNqpSDo+Lt3QT7CenBY9BUnVn6bSHYNAaPhQ3WxYc1fpRi3+Lfpqz6/6CtwzNM113yKUoIgwMQZ2TTkRJ5S7JI0PztFc8u2I5ngz2thHx3rIXDjNXhmxoo7xH9rULUa65Y1zdPRx2xVNGDUJDFX78jvL39wIkvvnqBMK54GyQ8F8Vd/+lyPg1Wi3GoVUyFKrfw5RRDTElNyby2CvgQVKFRwHYbJu8OS3TjT6sW4uqmNxZQl4Zg4DBg/C6vlXAZISTCiCzC5yQ/xfqrQ5hNmKmsfHiVMduB7XYh9INAqceiTRlPV/ccY/JeGPRTbo52FoIHEponCLaToMU08uJVYC+hvT21OB/Wae2dr1l0vF4zDP+109YHgf7HbHg40TJW+UfIJdkAR0XHDINEqZIPmgE7jgon2B9KMXSyrWTg3OvOVA2USc7lBX9/8s1AXyI6MYgb7JwddM/cajZJle9ipMzJTmSZbJPw8o3bHGlt2pTtXzJb7mLgOxS1cwoc2kUTQYkRz5irPM1bhY4dT33d0tOr6C8IjROMgQMuIsVxKYCt88qo8ESk/nZEpVcWvBlsM+HWSwjHKtOJ8iPl3EqwSQiWRjVN6bOQyQIsPNVTfkZHSBqKnJ4dXcjXMTqcxGgxEzfD5sLfzXDz71A==&#34;</span>,<span style="box-sizing: border-box;">&#34;a10&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;{}&#34;</span>,<span style="box-sizing: border-box;">&#34;x0&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;">&#34;a2&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;0f4513356e64a6d70d962a764b1d68b8&#34;</span>}<br/></code></pre><p data-source-line="2813" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">发送给服务器后成功返回dfpid</p><pre data-source-line="2814" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">{<span style="box-sizing: border-box;">&#34;code&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>,<span style="box-sizing: border-box;">&#34;data&#34;</span>:{<span style="box-sizing: border-box;">&#34;serverTimestamp&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>,<span style="box-sizing: border-box;">&#34;clientIp&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;218.xx.xx.xx&#34;</span>,<span style="box-sizing: border-box;">&#34;interval&#34;</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span>,<span style="box-sizing: border-box;">&#34;dfp&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;8ecde1544fbe09ba3ec851e72fdd28c0803df1f83c5c0862c8ad571c&#34;</span>},<span style="box-sizing: border-box;">&#34;message&#34;</span>:<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;ok&#34;</span>}<br/></code></pre><p data-source-line="2817" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">以上就是完整的dfpid设备指纹生成过程，xid生成也是类似的，也是在Native层获取设备信息加密返回到java层组合请求体，计算请求头签名，发送给服务器计算ID返回ID的过程，我就不再重复分析了。</p><h3 data-source-line="2818" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">七、设备指纹攻击</span></h3><h4 data-source-line="2819" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">7.1、设备指纹原理</span></h4><p data-source-line="2820" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">设备指纹是用来标识手机设备的唯一ID，能够通过这个ID关联到手机相关的全部数据，因此设备指纹是风控中最核心的数据之一，所以它需要具备以下几个条件时ID不变：设备重置、设备更新、设备刷机。要同时具备这样的条件，必须从多个维度采集不同的信息来生成ID，这些信息可以大致分为：软件ID、软件静态特征、硬件静态特征和硬件动态特征。采集完信息后如何基于这些信息计算出一个稳定的设备指纹ID，还是有比较大挑战，再加上目前国家对公民隐私保护严格，用户敏感信息不能采集，很多唯一性比较好的数据就失效，要做一稳定性高的ID就难上加难了。<br style="box-sizing: border-box;"/></p><h4 data-source-line="2821" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">7.2、设备指纹变与不变</span></h4><p data-source-line="2822" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">既然设备指纹ID是根据手机设备的数据生成的，哪么我们的攻击思路就是修改设备信息，同一台手机不断变化设备信息让生成设备指纹的服务返回新的ID就算攻击成功了，因为它无法识别手机的唯一性。<br style="box-sizing: border-box;"/>实战修改设备字段生成新的dfpid<br style="box-sizing: border-box;"/>测试过程就是在内存中将采集的某设备字段改掉就可以生成新的设备ID(该字段是软件相关的ID，比较敏感就不说了，总共没有多少字段，想玩的朋友可以自己调试测试)<br style="box-sizing: border-box;"/>修改前后对比图7-1与7-2所示，返回新的ID:</p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.4171875" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=4dda0fdd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibU4rRxiclW8aJSibKJWX0D5UoBV7ITJ1uETF0ZDsfOibCRqJJPkx0QtJYHRI5FH8pmGu9bFiayAIseQiag%2F640%3Fwx_fmt%3Dpng"/></p><p>                                图7-1<br/></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.31875" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=a8e9eb96&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibU4rRxiclW8aJSibKJWX0D5UoLpQ1jVQuh4DVQicZqPMUicRx5JIhPo3nCsAFnQMHMAKibSOtSGBA3qE5Q%2F640%3Fwx_fmt%3Dpng"/></p><p>                                图7-2<br/></p><h3 data-source-line="2830" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">八、黑产工具特征检测</span></h3><h4 data-source-line="2831" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">8.1、解密黑产工具特征</span></h4><p data-source-line="2832" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">获取密钥，解密PIC数据获取key(a9)</p><pre data-source-line="2833" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571594 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571596 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R2</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571598 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A F8 BL              AES_set_decrypt_key_sub_CB601690 <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; R0:key,R1:大小,R2:初始AES_KEY返回结构</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C857159C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C857159E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>       <span style="box-sizing: border-box;font-weight: bold;">MOV</span>             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, SP<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>A       LDR             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R2</span>, [SP,<span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x128+var_110]</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span>       STR             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R2</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>,<span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x128+var_128]</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span>       STR             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>,<span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x128+var_124]</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715A6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span>       LDR             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, [SP,<span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x128+var_108]</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>E       LDR             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span>, [SP,<span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x128+var_118]</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C       LDR             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span>, [SP,<span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x128+var_10C]</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715AE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R2</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B       LDR             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R3</span>, [SP,<span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x128+var_11C]</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715B2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> FD BL              AES_cbc_Encrypt_sub_CB602020<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C85715B6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span></code></pre><p data-source-line="2851" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">解密后特征</p><pre data-source-line="2852" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">{<br/>	<span style="box-sizing: border-box;">&#34;0&#34;</span>: <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>,<br/>	<span style="box-sizing: border-box;">&#34;1&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;2&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/sys/devices/virtual/misc/qemu_pipe&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/sys/module/vboxsf&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/droid4x&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/droid4x-vbox-sf&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/lib/egl/libEGL_tiDetectanVM.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/ttVM-vbox-sf&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/lib/libnox.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/nox-vbox-sf&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/androVM-vbox-sf&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/ueventd.vbox86.rc&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/sys/class/misc/qemu_pipe&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/sys/qemu_trace&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/dev/com.bluestacks.superuser.daemon&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/framework/libqemu_wl.txt&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/lib/libc_malloc_debug_qemu.so-arm&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/data/downloads/qemu_list.txt&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/yiwan-prop&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/yiwan-sf&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/qemu_props&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/androVM-prop&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/microvirt-prop&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/lib/libdroid4x.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/windroyed&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/microvirtd&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/nox-prop&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/ttVM-prop&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/dev/qemu_pipe&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/vendor/bin/qemu-props&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/bin/droid4x-prop&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/data/.bluestacks.prop&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/app/com.mumu.launcher&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/lib/vboxguest.ko&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/lib/vboxsf.ko&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/sys/class/misc/vboxguest&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/sys/class/misc/vboxuser&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;3&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;de.robv.android.xposed.installer&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.saurik.substrate&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.soft.apk008v&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.soft.apk008Tool&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.mockgps.outside.ui&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.tim.apps.mockgps&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.huichongzi.locationmocke&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.lxzs&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;4&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;XposedBridge.jar&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;frida&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;substrate&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libriru_edxp.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libsandhook.edxp.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libwhale.edxp.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libxposed_art.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;edxp.jar&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;fasthook&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libfakeloc_initzygote.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;qssq666&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.lxzs&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;sandhook&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libsubstrate.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libiohook.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libepic.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libepic64.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libexp824.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libexp82464.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;libexposed.so&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;cydia&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/data/local/tmp&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;5&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;6&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;de.robv.android.xposed.XposedBridge&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;de.robv.android.xposed.XposedHelpers&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;7&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/lib/lic&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/lib/ccc&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;/system/lib/.aa&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;8&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;de.robv.android.xposed.XposedBridge&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;xposed&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.lxzs&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;9&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;dexguard_DGResourcesSuperClass.dex&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;10&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;VirtualBox&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;11&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.gsxz.location&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;net.anylocation&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.huichongzi.locationmocker&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;top.a1024bytes.mockloc.ca.pro&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.deniu.daniu&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;12&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;fridaserver&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;magisk&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;xposed&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;13&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;14&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;charles&#34;</span>, <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;fiddler&#34;</span>],<br/>	<span style="box-sizing: border-box;">&#34;15&#34;</span>: [<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;com.netease.nemu_vinput.nemu&#34;</span>]<br/>}</code></pre><h4 data-source-line="2872" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">8.2、解析json检测特征</span></h4><pre data-source-line="2873" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">//<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">直接调用</span>SVC<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">指令</span>,<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">检测特征是否存在系统中。</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571444             faccessat_sub_C8BE5444<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571444 <br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571444 F0 B5       <span style="box-sizing: border-box;font-weight: bold;">PUSH</span>            {<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span>-<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R7</span>,LR}<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571446 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> AF       <span style="box-sizing: border-box;font-weight: bold;">ADD</span>             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R7</span>, SP, <span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0xC</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571448 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R3</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C857144A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C857144C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x63 ; &#39;c&#39;</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C857144E C5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span>       MVNS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R5</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571450 A7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0xA7</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571452 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       LSLS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#1</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571454 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>       <span style="box-sizing: border-box;font-weight: bold;">MOV</span>             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R5</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571456 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>       <span style="box-sizing: border-box;font-weight: bold;">MOV</span>             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R1</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571458 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>       <span style="box-sizing: border-box;font-weight: bold;">MOV</span>             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R2</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R3</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C857145A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>       <span style="box-sizing: border-box;font-weight: bold;">MOV</span>             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R7</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R6</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C857145C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> DF       SVC             <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C857145E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>       <span style="box-sizing: border-box;font-weight: bold;">MOV</span>             <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R3</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571460 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>       MOVS            <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R0</span>, <span style="box-sizing: border-box;color: rgb(0, 134, 179);">R3</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">.text:</span>C8571462 F0 BD       <span style="box-sizing: border-box;font-weight: bold;">POP</span>             {<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R4</span>-<span style="box-sizing: border-box;color: rgb(0, 134, 179);">R7</span>,PC}</code></pre><h3 data-source-line="2894" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">九、总结</span></h3><h4 data-source-line="2895" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">9.1、安全点</span></h4><p data-source-line="2896" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">代码混淆，代码块间跳转动态计算获取，单步调试容易跑飞、流程混淆无法F5，字符串加密。采集设备信息都在Native层反射来获取，<br style="box-sizing: border-box;"/></p><h4 data-source-line="2897" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">9.1、不足点</span></h4><p data-source-line="2898" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">指纹稳定性比较差，在华为的机型上基本不行，防hook只是简单做了前几个字节判断，检测黑产工具的特征写死的。</p><p><span style="font-size: 14px;">样本获取,关注公众号，公众号输入框回复“MT”即可</span></p><p><span style="font-size: 14px;"><br/></span></p><p><span style="font-size: 14px;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">作者简介：</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">我是小三，目前从事软件安全相关工作，虽己工作多年，但内心依然有着执着的追求，信奉终身成长，不定义自己，热爱技术但不拘泥于技术，爱好分享，喜欢读书和乐于结交朋友，欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)</span></span></p>



<p><a href="2247483992">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=7b96d594&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247483992%26idx%3D1%26sn%3D0aea1be50ca1bc2945ec504d620038dd%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 01 Oct 2021 00:00:00 +0800</pubDate>
    </item>
    <item>
      <title>外卖APP设备指纹风控分析二(mtgsig)</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483991&amp;idx=1&amp;sn=2ab42cb7662ebf16c25a2ab923a60092</link>
      <description>设备指纹技术是使用更多的信息来完成对终端设备的唯一性识别，在业务中可以有效辨别设备是真实用户还是机器在注册、登录，及时检测出单设备登入多帐号、防止批量注册、登录等操作行为。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-09-29 23:59</span> <span style="display: inline-block;"></span>
</p>

<p>设备指纹技术是使用更多的信息来完成对终端设备的唯一性识别，在业务中可以有效辨别设备是真实用户还是机器在注册、登录，及时检测出单设备登入多帐号、防止批量注册、登录等操作行为。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=1ea5fa87&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibU4rRxiclW8aJSibKJWX0D5UolmJ8yQ1iciaoIA5JffcRhfibcRe7yqAX2jQueyeK1rUAPMWgR4WicwuBVQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<h3 data-source-line="1647" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">五、反爬虫mtgsig签名</span></h3><h4 data-source-line="1648" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">5.1、基本流程</span></h4><p data-source-line="1649" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">APP每一个业务网络请求的请求头中都有mtgsig参数，该参数是请求体与其它参数计算的签名值。<br style="box-sizing: border-box;"/>java层代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="typescript"><code><span class="code-snippet_outer"> public static String makeHeader(byte[] arg13, MODE arg14) {</span></code><code><span class="code-snippet_outer">        Object[] v8 = new Object[]{arg13, arg14};</span></code><code><span class="code-snippet_outer">        ChangeQuickRedirect v11 = WTSign.changeQuickRedirect;</span></code><code><span class="code-snippet_outer">        if(PatchProxy.isSupport(v8, null, v11, true, &#34;4371e5fcb0c4ae2bd761bbf35c1a43bf&#34;, 0x6000000000000000L)) {</span></code><code><span class="code-snippet_outer">            return (String)PatchProxy.accessDispatch(v8, null, v11, true, &#34;4371e5fcb0c4ae2bd761bbf35c1a43bf&#34;);</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        if(arg13 == null) {</span></code><code><span class="code-snippet_outer">            return &#34;-2003&#34;;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        Object[] v13 = NBridge.main3(2, new Object[]{MTGuard.sAppKey, arg13, ((int)arg14.mode)});</span></code><code><span class="code-snippet_outer">        if(v13 == null) {</span></code><code><span class="code-snippet_outer">            return &#34;-1001&#34;;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        return (v13[0] instanceof Integer) ? v13[0] : ((String)v13[0]);</span></code><code><span class="code-snippet_outer">    }</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">最终会走到Native层进行签名计算</span></p><h4 data-source-line="1672" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">5.2、加密系统环境信息</span></h4><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="powershell"><code><span class="code-snippet_outer">// 是否root、ADB调试状态、USB调试模式等</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;b1&#34;: &#34;{\&#34;1\&#34;:\&#34;\&#34;,\&#34;2\&#34;:\&#34;1|2|3\&#34;,\&#34;3\&#34;:\&#34;\&#34;,\&#34;4\&#34;:\&#34;\&#34;,\&#34;5\&#34;:\&#34;\&#34;,\&#34;6\&#34;:\&#34;\&#34;,\&#34;7\&#34;:\&#34;2\&#34;,\&#34;8\&#34;:\&#34;\&#34;,\&#34;9\&#34;:\&#34;\&#34;,\&#34;10\&#34;:\&#34;\&#34;,\&#34;11\&#34;:\&#34;\&#34;,\&#34;12\&#34;:\&#34;32\&#34;,\&#34;13\&#34;:\&#34;\&#34;,\&#34;14\&#34;:\&#34;\&#34;,\&#34;15\&#34;:\&#34;\&#34;,\&#34;33\&#34;:{\&#34;0\&#34;:2,\&#34;1\&#34;:\&#34;\&#34;,\&#34;2\&#34;:\&#34;\&#34;,\&#34;3\&#34;:\&#34;\&#34;,\&#34;4\&#34;:\&#34;2|22\&#34;,\&#34;5\&#34;:\&#34;\&#34;,\&#34;6\&#34;:\&#34;\&#34;,\&#34;7\&#34;:\&#34;\&#34;,\&#34;8\&#34;:\&#34;\&#34;,\&#34;9\&#34;:\&#34;\&#34;,\&#34;10\&#34;:\&#34;\&#34;,\&#34;11\&#34;:\&#34;\&#34;,\&#34;12\&#34;:\&#34;\&#34;,\&#34;13\&#34;:\&#34;\&#34;,\&#34;14\&#34;:\&#34;2\&#34;,\&#34;15\&#34;:\&#34;\&#34;}}&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b2&#34;: 35,</span></code><code><span class="code-snippet_outer">  &#34;b3&#34;: 0,</span></code><code><span class="code-snippet_outer">  &#34;b4&#34;: &#34;com.sankuai.meituan&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b5&#34;: &#34;11.12.204&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b6&#34;: &#34;1100120204&#34;,</span></code><code><span class="code-snippet_outer">  &#34;b7&#34;: 1631754559</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">压缩信息</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">E53E7D80  78 9C 9D 91 C1 0E C2 20  10 44 FF 65 CF 0D 61 76  x........D.e..av</span></code><code><span class="code-snippet_outer">E53E7D90  81 2A DF C2 A5 35 1E 1A  D3 7A D0 9E DA FE BB 40  .*...5....О ...@</span></code><code><span class="code-snippet_outer">E53E7DA0  4D C0 A4 C6 C4 D3 3E 66  17 66 36 2C D4 83 3C 2D  M......f.f6,ԃ &lt;-</span></code><code><span class="code-snippet_outer">E53E7DB0  81 10 C8 07 0A D4 04 E2  8C 58 79 95 7C 96 D2 32  ..........y.|...</span></code><code><span class="code-snippet_outer">E53E7DC0  05 6D 41 57 B0 CD C8 99  4F 45 3E 17 84 AE B8 72  .mAW....OE&gt;....r</span></code><code><span class="code-snippet_outer">E53E7DD0  C5 6E 2B FB 5D 54 A6 A8  5C 51 D9 4A 9A 89 D1 D3  ..+.]T..\Q......</span></code><code><span class="code-snippet_outer">E53E7DE0  83 DC 1C AC 70 9C 9E 57  E6 9F 1B FC BF C0 B7 F8  ....p..W........</span></code><code><span class="code-snippet_outer">E53E7DF0  FC 99 7F DB A8 A1 9E C9  8B 8D 55 C8 EB 58 4C FC  .......ɋ .U..XL.</span></code><code><span class="code-snippet_outer">E53E7E00  8B CB 7D 54 8F 6E BA CD  DD A0 C6 EB F0 9C BB 29  ...T.n..........</span></code><code><span class="code-snippet_outer">E53E7E10  4D DA D8 02 14 58 B1 36  49 70 59 D0 1A AC DF 4A  M....X.6IpY.....</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">组合密钥</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer">1631754963 9b69f861-e054-4bc4-9daf-d36ae205ed3e  //当前时间加APPkey</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">RC4加密压缩后数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:C881966C 11 99       LDR             R1, [SP,#0x44]</span></code><code><span class="code-snippet_outer">.text:C881966E 0E 9E       LDR             R6, [SP,#0x38]</span></code><code><span class="code-snippet_outer">.text:C8819670 8A 59       LDR             R2, [R1,R6]</span></code><code><span class="code-snippet_outer">.text:C8819672 16 A8       ADD             R0, SP, #0x58 ; &#39;X&#39;</span></code><code><span class="code-snippet_outer">.text:C8819674 1A F0 B0 FF BL              initkey_sub_C79725D8    ; R1:key 15525971099b69f861-e054-4bc4-9daf-d36ae205ed3e R2:长度0x2E</span></code><code><span class="code-snippet_outer">.text:C8819678 10 9B       LDR             R3, [SP,#0x40]</span></code><code><span class="code-snippet_outer">.text:C881967A 29 00       MOVS            R1, R5</span></code><code><span class="code-snippet_outer">.text:C881967C 2A 00       MOVS            R2, R5</span></code><code><span class="code-snippet_outer">.text:C881967E 1A F0 B2 FF BL              RC4_sub_C79725E6        ; R0:初始化的KEY，R1：压缩后数据,R3:压缩后大小</span></code><code><span class="code-snippet_outer">.text:C8819682 11 98       LDR             R0, [SP,#0x44]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">加密后</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">E53E7D80  62 16 1F 8D D5 8D AF 42  8B D2 2C 32 77 29 5A 5F  b...Ս .B...2w)Z_</span></code><code><span class="code-snippet_outer">E53E7D90  1B ED 38 9E F7 85 82 50  E0 FA D1 0A CD C4 6F 29  ..............o)</span></code><code><span class="code-snippet_outer">E53E7DA0  69 0C FA 10 AE 63 57 E1  11 EA A4 DF 12 36 B2 4D  i....cW......6.M</span></code><code><span class="code-snippet_outer">E53E7DB0  A0 A2 78 3B 5A 60 E6 AB  E9 4C A1 13 CD DB EB F0  ..x;Z`...L......</span></code><code><span class="code-snippet_outer">E53E7DC0  1B FC 49 D2 6C CE 5A 96  C6 6B 71 45 80 8B 5D B7  ..I.......qE..].</span></code><code><span class="code-snippet_outer">E53E7DD0  97 54 D5 58 0F F8 5E 68  25 CE 31 58 2D 04 C0 F2  .T....^h%..X-...</span></code><code><span class="code-snippet_outer">E53E7DE0  70 E7 D4 2E E7 C9 2C DD  07 F2 7A F4 CA 06 F3 CB  p...............</span></code><code><span class="code-snippet_outer">E53E7DF0  C3 CC 14 76 0A 44 2C 48  A2 35 6B 7D 0D 8C 51 60  ...v.D,H.5k}..Q`</span></code><code><span class="code-snippet_outer">E53E7E00  3F A9 F8 C6 D1 02 04 2B  A3 BF 86 3F 54 83 D4 43  ?......+...?T...</span></code><code><span class="code-snippet_outer">E53E7E10  39 9C AB 66 0D DD 21 90  2B 73 B9 1F C3 C2 B8 86  9..f....+s......</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">Base64加密</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">An2sai6nXEuFYeKbDUk/qEo/7am8Jtn3O2Has5efofCux7iubGRCS8TKpjUgotJ6MGdQrBsvwh/peZwuikT+5rCr4RzN8SXXCeDOtZQ6sbo/snVdESSJweNqd6i/WbIwDOgv5eaWRQoISjdgNfW3hk7tf0QhsZFbOELcPxz5pRzo6d6EsBLFu5Mq8DbVNgsYF+6aqZ7302/G+Rr7MlUT2M9y3EjgjH01L39q/eRJ</span></code></pre></section><h4 data-source-line="1732" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">5.3、获取dfpid (设备指纹)</span></h4><p data-source-line="1733" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">判断本地是否有存储，如果有优先读取本地，如果无反谢java层从服务器端获取，这部分详细分析见后面设备指纹部分。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:C8A93C78 F0 B5       PUSH            {R4-R7,LR}</span></code><code><span class="code-snippet_outer">.text:C8A93C7A 03 AF       ADD             R7, SP, #0xC</span></code><code><span class="code-snippet_outer">.text:C8A93C7C 91 B0       SUB             SP, SP, #0x44</span></code><code><span class="code-snippet_outer">.text:C8A93C7E 09 92       STR             R2, [SP,#0x50+var_2C]</span></code><code><span class="code-snippet_outer">.text:C8A93C80 0A 91       STR             R1, [SP,#0x50+var_28]</span></code><code><span class="code-snippet_outer">.text:C8A93C82 01 B4       PUSH            {R0}</span></code><code><span class="code-snippet_outer">.text:C8A93C84 10 BC       POP             {R4}</span></code><code><span class="code-snippet_outer">.text:C8A93C86 8E 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC8A93C8C)</span></code><code><span class="code-snippet_outer">.text:C8A93C88 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></code><code><span class="code-snippet_outer">.text:C8A93C8A 05 68       LDR             R5, [R0]                ; __stack_chk_guard</span></code><code><span class="code-snippet_outer">.text:C8A93C8C 28 68       LDR             R0, [R5]</span></code><code><span class="code-snippet_outer">.text:C8A93C8E 10 90       STR             R0, [SP,#0x50+var_10]</span></code><code><span class="code-snippet_outer">.text:C8A93C90 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93C92 00 F0 3F F9 BL              getClassLoader_sub_C6FD9F14</span></code><code><span class="code-snippet_outer">.text:C8A93C96 00 26       MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text:C8A93C98 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93C9A 00 D1       BNE             loc_C8A93C9E</span></code><code><span class="code-snippet_outer">.text:C8A93C9C 06 E1       B               loc_C8A93EAC</span></code><code><span class="code-snippet_outer">.text:C8A93C9E             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8A93C9E</span></code><code><span class="code-snippet_outer">.text:C8A93C9E             loc_C8A93C9E                            ; CODE XREF: main2_sub_B6891C78+22↑j</span></code><code><span class="code-snippet_outer">.text:C8A93C9E 0B 90       STR             R0, [SP,#0x50+var_24]</span></code><code><span class="code-snippet_outer">.text:C8A93CA0 F6 F7 EE FC BL              malloc_sub_C8BC6680</span></code><code><span class="code-snippet_outer">.text:C8A93CA4 9C 21       MOVS            R1, #0x9C</span></code><code><span class="code-snippet_outer">.text:C8A93CA6 41 58       LDR             R1, [R0,R1]             ; char *</span></code><code><span class="code-snippet_outer">.text:C8A93CA8 0E AE       ADD             R6, SP, #0x50+var_18</span></code><code><span class="code-snippet_outer">.text:C8A93CAA 0D AA       ADD             R2, SP, #0x50+var_1C</span></code><code><span class="code-snippet_outer">.text:C8A93CAC 30 00       MOVS            R0, R6                  ; int</span></code><code><span class="code-snippet_outer">.text:C8A93CAE 6F F0 F7 FF BL              basic_string_sub_B2943CA0</span></code><code><span class="code-snippet_outer">.text:C8A93CB2 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93CB4 31 00       MOVS            R1, R6</span></code><code><span class="code-snippet_outer">.text:C8A93CB6 03 F0 35 FF BL              NewStringUTF_sub_C6B9DB24</span></code><code><span class="code-snippet_outer">.text:C8A93CBA 26 00       MOVS            R6, R4</span></code><code><span class="code-snippet_outer">.text:C8A93CBC 04 00       MOVS            R4, R0</span></code><code><span class="code-snippet_outer">.text:C8A93CBE 0E 98       LDR             R0, [SP,#0x50+var_18]</span></code><code><span class="code-snippet_outer">.text:C8A93CC0 0C 38       SUBS            R0, #0xC</span></code><code><span class="code-snippet_outer">.text:C8A93CC2 0F A9       ADD             R1, SP, #0x50+var_14</span></code><code><span class="code-snippet_outer">.text:C8A93CC4 6F F0 40 FD BL              free_sub_B2943748</span></code><code><span class="code-snippet_outer">.text:C8A93CC8 0C 96       STR             R6, [SP,#0x50+var_20]</span></code><code><span class="code-snippet_outer">.text:C8A93CCA 30 00       MOVS            R0, R6</span></code><code><span class="code-snippet_outer">.text:C8A93CCC 07 F0 FC FD BL              ExceptionCheck_sub_C6BA18C8</span></code><code><span class="code-snippet_outer">.text:C8A93CD0 00 26       MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text:C8A93CD2 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93CD4 07 D0       BEQ             loc_C8A93CE6</span></code><code><span class="code-snippet_outer">.text:C8A93CD6 00 2C       CMP             R4, #0</span></code><code><span class="code-snippet_outer">.text:C8A93CD8 00 D1       BNE             loc_C8A93CDC</span></code><code><span class="code-snippet_outer">.text:C8A93CDA E2 E0       B               loc_C8A93EA2</span></code><code><span class="code-snippet_outer">.text:C8A93CDC             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8A93CDC</span></code><code><span class="code-snippet_outer">.text:C8A93CDC             loc_C8A93CDC                            ; CODE XREF: main2_sub_B6891C78+60↑j</span></code><code><span class="code-snippet_outer">.text:C8A93CDC 08 94       STR             R4, [SP,#0x50+var_30]</span></code><code><span class="code-snippet_outer">.text:C8A93CDE 07 95       STR             R5, [SP,#0x50+var_34]</span></code><code><span class="code-snippet_outer">.text:C8A93CE0 00 26       MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text:C8A93CE2 0C 9C       LDR             R4, [SP,#0x50+var_20]</span></code><code><span class="code-snippet_outer">.text:C8A93CE4 D7 E0       B               loc_C8A93E96</span></code><code><span class="code-snippet_outer">.text:C8A93CE6             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8A93CE6</span></code><code><span class="code-snippet_outer">.text:C8A93CE6             loc_C8A93CE6                            ; CODE XREF: main2_sub_B6891C78+5C↑j</span></code><code><span class="code-snippet_outer">.text:C8A93CE6 00 2C       CMP             R4, #0</span></code><code><span class="code-snippet_outer">.text:C8A93CE8 00 D1       BNE             loc_C8A93CEC</span></code><code><span class="code-snippet_outer">.text:C8A93CEA DA E0       B               loc_C8A93EA2</span></code><code><span class="code-snippet_outer">.text:C8A93CEC             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8A93CEC</span></code><code><span class="code-snippet_outer">.text:C8A93CEC             loc_C8A93CEC                            ; CODE XREF: main2_sub_B6891C78+70↑j</span></code><code><span class="code-snippet_outer">.text:C8A93CEC 08 94       STR             R4, [SP,#0x50+var_30]</span></code><code><span class="code-snippet_outer">.text:C8A93CEE 07 95       STR             R5, [SP,#0x50+var_34]</span></code><code><span class="code-snippet_outer">.text:C8A93CF0 74 4E       LDR             R6, =(byte_C8B2D4E0 - 0xC8A93CF6)</span></code><code><span class="code-snippet_outer">.text:C8A93CF2 7E 44       ADD             R6, PC                  ; byte_C8B2D4E0</span></code><code><span class="code-snippet_outer">.text:C8A93CF4 30 78       LDRB            R0, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93CF6 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93CF8 0A D1       BNE             loc_C8A93D10</span></code><code><span class="code-snippet_outer">.text:C8A93CFA 73 4C       LDR             R4, =(aJavaLangClassl - 0xC8A93D00) ; &#34;java/lang/ClassLoader&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93CFC 7C 44       ADD             R4, PC                  ; &#34;java/lang/ClassLoader&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93CFE 73 49       LDR             R1, =(unk_C8B1E8A0 - 0xC8A93D04)</span></code><code><span class="code-snippet_outer">.text:C8A93D00 79 44       ADD             R1, PC                  ; unk_C8B1E8A0</span></code><code><span class="code-snippet_outer">.text:C8A93D02 00 25       MOVS            R5, #0</span></code><code><span class="code-snippet_outer">.text:C8A93D04 15 23       MOVS            R3, #0x15</span></code><code><span class="code-snippet_outer">.text:C8A93D06 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93D08 2A 00       MOVS            R2, R5</span></code><code><span class="code-snippet_outer">.text:C8A93D0A F7 F7 A9 F9 BL              DecString</span></code><code><span class="code-snippet_outer">.text:C8A93D0E 65 75       STRB            R5, [R4,#(aJavaLangClassl+0x15 - 0xC8B1E489)] ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D10</span></code><code><span class="code-snippet_outer">.text:C8A93D10             loc_C8A93D10                            ; CODE XREF: main2_sub_B6891C78+80↑j</span></code><code><span class="code-snippet_outer">.text:C8A93D10 01 20       MOVS            R0, #1</span></code><code><span class="code-snippet_outer">.text:C8A93D12 06 90       STR             R0, [SP,#0x50+var_38]</span></code><code><span class="code-snippet_outer">.text:C8A93D14 30 70       STRB            R0, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93D16 0C 9C       LDR             R4, [SP,#0x50+var_20]</span></code><code><span class="code-snippet_outer">.text:C8A93D18 20 68       LDR             R0, [R4]</span></code><code><span class="code-snippet_outer">.text:C8A93D1A 82 69       LDR             R2, [R0,#0x18]</span></code><code><span class="code-snippet_outer">.text:C8A93D1C 6C 49       LDR             R1, =(aJavaLangClassl - 0xC8A93D22) ; &#34;java/lang/ClassLoader&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D1E 79 44       ADD             R1, PC                  ; &#34;java/lang/ClassLoader&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D20 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93D22 90 47       BLX             R2</span></code><code><span class="code-snippet_outer">.text:C8A93D24 05 00       MOVS            R5, R0</span></code><code><span class="code-snippet_outer">.text:C8A93D26 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93D28 07 F0 CE FD BL              ExceptionCheck_sub_C6BA18C8</span></code><code><span class="code-snippet_outer">.text:C8A93D2C 00 26       MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text:C8A93D2E 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93D30 05 D0       BEQ             loc_C8A93D3E</span></code><code><span class="code-snippet_outer">.text:C8A93D32 00 2D       CMP             R5, #0</span></code><code><span class="code-snippet_outer">.text:C8A93D34 20 B4       PUSH            {R5}</span></code><code><span class="code-snippet_outer">.text:C8A93D36 02 BC       POP             {R1}</span></code><code><span class="code-snippet_outer">.text:C8A93D38 00 D0       BEQ             loc_C8A93D3C</span></code><code><span class="code-snippet_outer">.text:C8A93D3A A8 E0       B               loc_C8A93E8E</span></code><code><span class="code-snippet_outer">.text:C8A93D3C             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8A93D3C</span></code><code><span class="code-snippet_outer">.text:C8A93D3C             loc_C8A93D3C                            ; CODE XREF: main2_sub_B6891C78+C0↑j</span></code><code><span class="code-snippet_outer">.text:C8A93D3C AB E0       B               loc_C8A93E96</span></code><code><span class="code-snippet_outer">.text:C8A93D3E             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8A93D3E</span></code><code><span class="code-snippet_outer">.text:C8A93D3E             loc_C8A93D3E                            ; CODE XREF: main2_sub_B6891C78+B8↑j</span></code><code><span class="code-snippet_outer">.text:C8A93D3E 00 2D       CMP             R5, #0</span></code><code><span class="code-snippet_outer">.text:C8A93D40 00 D1       BNE             loc_C8A93D44</span></code><code><span class="code-snippet_outer">.text:C8A93D42 A8 E0       B               loc_C8A93E96</span></code><code><span class="code-snippet_outer">.text:C8A93D44             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8A93D44</span></code><code><span class="code-snippet_outer">.text:C8A93D44             loc_C8A93D44                            ; CODE XREF: main2_sub_B6891C78+C8↑j</span></code><code><span class="code-snippet_outer">.text:C8A93D44 05 95       STR             R5, [SP,#0x50+var_3C]</span></code><code><span class="code-snippet_outer">.text:C8A93D46 63 4E       LDR             R6, =(byte_C8B2D4E1 - 0xC8A93D4C)</span></code><code><span class="code-snippet_outer">.text:C8A93D48 7E 44       ADD             R6, PC                  ; byte_C8B2D4E1</span></code><code><span class="code-snippet_outer">.text:C8A93D4A 30 78       LDRB            R0, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93D4C 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93D4E 0A D1       BNE             loc_C8A93D66</span></code><code><span class="code-snippet_outer">.text:C8A93D50 61 4D       LDR             R5, =(aLoadclass - 0xC8A93D56) ; &#34;loadClass&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D52 7D 44       ADD             R5, PC                  ; &#34;loadClass&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D54 61 49       LDR             R1, =(aMkfnnRej - 0xC8A93D5A) ; &#34;mkfnN|rej&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D56 79 44       ADD             R1, PC                  ; &#34;mkfnN|rej&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D58 01 22       MOVS            R2, #1</span></code><code><span class="code-snippet_outer">.text:C8A93D5A 09 23       MOVS            R3, #9</span></code><code><span class="code-snippet_outer">.text:C8A93D5C 28 00       MOVS            R0, R5</span></code><code><span class="code-snippet_outer">.text:C8A93D5E F7 F7 7F F9 BL              DecString</span></code><code><span class="code-snippet_outer">.text:C8A93D62 00 20       MOVS            R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93D64 68 72       STRB            R0, [R5,#(aLoadclass+9 - 0xC8B1E49F)] ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D66</span></code><code><span class="code-snippet_outer">.text:C8A93D66             loc_C8A93D66                            ; CODE XREF: main2_sub_B6891C78+D6↑j</span></code><code><span class="code-snippet_outer">.text:C8A93D66 06 9D       LDR             R5, [SP,#0x50+var_38]</span></code><code><span class="code-snippet_outer">.text:C8A93D68 35 70       STRB            R5, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93D6A 5D 4E       LDR             R6, =(byte_C8B2D4E2 - 0xC8A93D70)</span></code><code><span class="code-snippet_outer">.text:C8A93D6C 7E 44       ADD             R6, PC                  ; byte_C8B2D4E2</span></code><code><span class="code-snippet_outer">.text:C8A93D6E 30 78       LDRB            R0, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93D70 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93D72 0E D1       BNE             loc_C8A93D92</span></code><code><span class="code-snippet_outer">.text:C8A93D74 5B 48       LDR             R0, =(aLjavaLangStrin - 0xC8A93D7A) ; &#34;(Ljava/lang/String;)Ljava/lang/Class;&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D76 78 44       ADD             R0, PC                  ; &#34;(Ljava/lang/String;)Ljava/lang/Class;&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D78 03 90       STR             R0, [SP,#0x50+var_44]</span></code><code><span class="code-snippet_outer">.text:C8A93D7A 5B 49       LDR             R1, =(unk_C8B1E8C0 - 0xC8A93D80)</span></code><code><span class="code-snippet_outer">.text:C8A93D7C 79 44       ADD             R1, PC                  ; unk_C8B1E8C0</span></code><code><span class="code-snippet_outer">.text:C8A93D7E 02 22       MOVS            R2, #2</span></code><code><span class="code-snippet_outer">.text:C8A93D80 25 23       MOVS            R3, #0x25 ; &#39;%&#39;</span></code><code><span class="code-snippet_outer">.text:C8A93D82 04 93       STR             R3, [SP,#0x50+var_40]</span></code><code><span class="code-snippet_outer">.text:C8A93D84 04 9B       LDR             R3, [SP,#0x50+var_40]</span></code><code><span class="code-snippet_outer">.text:C8A93D86 F7 F7 6B F9 BL              DecString</span></code><code><span class="code-snippet_outer">.text:C8A93D8A 00 20       MOVS            R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93D8C 04 99       LDR             R1, [SP,#0x50+var_40]</span></code><code><span class="code-snippet_outer">.text:C8A93D8E 03 9A       LDR             R2, [SP,#0x50+var_44]</span></code><code><span class="code-snippet_outer">.text:C8A93D90 50 54       STRB            R0, [R2,R1]</span></code><code><span class="code-snippet_outer">.text:C8A93D92</span></code><code><span class="code-snippet_outer">.text:C8A93D92             loc_C8A93D92                            ; CODE XREF: main2_sub_B6891C78+FA↑j</span></code><code><span class="code-snippet_outer">.text:C8A93D92 35 70       STRB            R5, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93D94 20 68       LDR             R0, [R4]</span></code><code><span class="code-snippet_outer">.text:C8A93D96 84 21       MOVS            R1, #0x84</span></code><code><span class="code-snippet_outer">.text:C8A93D98 46 58       LDR             R6, [R0,R1]</span></code><code><span class="code-snippet_outer">.text:C8A93D9A 54 4A       LDR             R2, =(aLoadclass - 0xC8A93DA0) ; &#34;loadClass&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D9C 7A 44       ADD             R2, PC                  ; &#34;loadClass&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93D9E 54 4B       LDR             R3, =(aLjavaLangStrin - 0xC8A93DA4) ; &#34;(Ljava/lang/String;)Ljava/lang/Class;&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93DA0 7B 44       ADD             R3, PC                  ; &#34;(Ljava/lang/String;)Ljava/lang/Class;&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93DA2 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93DA4 05 99       LDR             R1, [SP,#0x50+var_3C]</span></code><code><span class="code-snippet_outer">.text:C8A93DA6 B0 47       BLX             R6</span></code><code><span class="code-snippet_outer">.text:C8A93DA8 05 00       MOVS            R5, R0</span></code><code><span class="code-snippet_outer">.text:C8A93DAA 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93DAC 07 F0 8C FD BL              ExceptionCheck_sub_C6BA18C8</span></code><code><span class="code-snippet_outer">.text:C8A93DB0 00 26       MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text:C8A93DB2 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93DB4 6A D1       BNE             loc_C8A93E8C</span></code><code><span class="code-snippet_outer">.text:C8A93DB6 00 2D       CMP             R5, #0</span></code><code><span class="code-snippet_outer">.text:C8A93DB8 68 D0       BEQ             loc_C8A93E8C</span></code><code><span class="code-snippet_outer">.text:C8A93DBA 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93DBC 0B 99       LDR             R1, [SP,#0x50+var_24]</span></code><code><span class="code-snippet_outer">.text:C8A93DBE 2A 00       MOVS            R2, R5</span></code><code><span class="code-snippet_outer">.text:C8A93DC0 08 9B       LDR             R3, [SP,#0x50+var_30]</span></code><code><span class="code-snippet_outer">.text:C8A93DC2 00 F0 13 F9 BL              CallObjectMethodV_sub_C6B99FEC</span></code><code><span class="code-snippet_outer">.text:C8A93DC6 05 00       MOVS            R5, R0</span></code><code><span class="code-snippet_outer">.text:C8A93DC8 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93DCA 07 F0 7D FD BL              ExceptionCheck_sub_C6BA18C8</span></code><code><span class="code-snippet_outer">.text:C8A93DCE 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93DD0 04 D0       BEQ             loc_C8A93DDC</span></code><code><span class="code-snippet_outer">.text:C8A93DD2 00 26       MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text:C8A93DD4 00 2D       CMP             R5, #0</span></code><code><span class="code-snippet_outer">.text:C8A93DD6 05 99       LDR             R1, [SP,#0x50+var_3C]</span></code><code><span class="code-snippet_outer">.text:C8A93DD8 53 D1       BNE             loc_C8A93E82</span></code><code><span class="code-snippet_outer">.text:C8A93DDA 58 E0       B               loc_C8A93E8E</span></code><code><span class="code-snippet_outer">.text:C8A93DDC             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8A93DDC</span></code><code><span class="code-snippet_outer">.text:C8A93DDC             loc_C8A93DDC                            ; CODE XREF: main2_sub_B6891C78+158↑j</span></code><code><span class="code-snippet_outer">.text:C8A93DDC 00 2D       CMP             R5, #0</span></code><code><span class="code-snippet_outer">.text:C8A93DDE 05 99       LDR             R1, [SP,#0x50+var_3C]</span></code><code><span class="code-snippet_outer">.text:C8A93DE0 55 D0       BEQ             loc_C8A93E8E</span></code><code><span class="code-snippet_outer">.text:C8A93DE2 04 95       STR             R5, [SP,#0x50+var_40]</span></code><code><span class="code-snippet_outer">.text:C8A93DE4 43 4E       LDR             R6, =(byte_C8B2D4E3 - 0xC8A93DEA)</span></code><code><span class="code-snippet_outer">.text:C8A93DE6 7E 44       ADD             R6, PC                  ; byte_C8B2D4E3</span></code><code><span class="code-snippet_outer">.text:C8A93DE8 30 78       LDRB            R0, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93DEA 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93DEC 0A D1       BNE             loc_C8A93E04</span></code><code><span class="code-snippet_outer">.text:C8A93DEE 42 4D       LDR             R5, =(aMain2 - 0xC8A93DF4) ; &#34;main2&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93DF0 7D 44       ADD             R5, PC                  ; &#34;main2&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93DF2 42 49       LDR             R1, =(aNgB - 0xC8A93DF8) ; &#34;ng`b=&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93DF4 79 44       ADD             R1, PC                  ; &#34;ng`b=&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93DF6 03 22       MOVS            R2, #3</span></code><code><span class="code-snippet_outer">.text:C8A93DF8 05 23       MOVS            R3, #5</span></code><code><span class="code-snippet_outer">.text:C8A93DFA 28 00       MOVS            R0, R5</span></code><code><span class="code-snippet_outer">.text:C8A93DFC F7 F7 30 F9 BL              DecString</span></code><code><span class="code-snippet_outer">.text:C8A93E00 00 20       MOVS            R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93E02 68 71       STRB            R0, [R5,#(aMain2+5 - 0xC8B1E4CF)] ; &#34;&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93E04</span></code><code><span class="code-snippet_outer">.text:C8A93E04             loc_C8A93E04                            ; CODE XREF: main2_sub_B6891C78+174↑j</span></code><code><span class="code-snippet_outer">.text:C8A93E04 06 9D       LDR             R5, [SP,#0x50+var_38]</span></code><code><span class="code-snippet_outer">.text:C8A93E06 35 70       STRB            R5, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93E08 3D 4E       LDR             R6, =(byte_C8B2D4E4 - 0xC8A93E0E)</span></code><code><span class="code-snippet_outer">.text:C8A93E0A 7E 44       ADD             R6, PC                  ; byte_C8B2D4E4</span></code><code><span class="code-snippet_outer">.text:C8A93E0C 30 78       LDRB            R0, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93E0E 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93E10 0E D1       BNE             loc_C8A93E30</span></code><code><span class="code-snippet_outer">.text:C8A93E12 3C 48       LDR             R0, =(aILjavaLangObje_0 - 0xC8A93E18) ; &#34;(I[Ljava/lang/Object;)Ljava/lang/Object&#34;...</span></code><code><span class="code-snippet_outer">.text:C8A93E14 78 44       ADD             R0, PC                  ; &#34;(I[Ljava/lang/Object;)Ljava/lang/Object&#34;...</span></code><code><span class="code-snippet_outer">.text:C8A93E16 02 90       STR             R0, [SP,#0x50+var_48]</span></code><code><span class="code-snippet_outer">.text:C8A93E18 3B 49       LDR             R1, =(unk_C8B1E8F0 - 0xC8A93E1E)</span></code><code><span class="code-snippet_outer">.text:C8A93E1A 79 44       ADD             R1, PC                  ; unk_C8B1E8F0</span></code><code><span class="code-snippet_outer">.text:C8A93E1C 04 22       MOVS            R2, #4</span></code><code><span class="code-snippet_outer">.text:C8A93E1E 28 23       MOVS            R3, #0x28 ; &#39;(&#39;</span></code><code><span class="code-snippet_outer">.text:C8A93E20 03 93       STR             R3, [SP,#0x50+var_44]</span></code><code><span class="code-snippet_outer">.text:C8A93E22 03 9B       LDR             R3, [SP,#0x50+var_44]</span></code><code><span class="code-snippet_outer">.text:C8A93E24 F7 F7 1C F9 BL              DecString</span></code><code><span class="code-snippet_outer">.text:C8A93E28 00 20       MOVS            R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93E2A 03 99       LDR             R1, [SP,#0x50+var_44]</span></code><code><span class="code-snippet_outer">.text:C8A93E2C 02 9A       LDR             R2, [SP,#0x50+var_48]</span></code><code><span class="code-snippet_outer">.text:C8A93E2E 50 54       STRB            R0, [R2,R1]</span></code><code><span class="code-snippet_outer">.text:C8A93E30</span></code><code><span class="code-snippet_outer">.text:C8A93E30             loc_C8A93E30                            ; CODE XREF: main2_sub_B6891C78+198↑j</span></code><code><span class="code-snippet_outer">.text:C8A93E30 35 70       STRB            R5, [R6]</span></code><code><span class="code-snippet_outer">.text:C8A93E32 71 20 80 00 MOVS            R0, #0x1C4</span></code><code><span class="code-snippet_outer">.text:C8A93E36 21 68       LDR             R1, [R4]</span></code><code><span class="code-snippet_outer">.text:C8A93E38 0D 58       LDR             R5, [R1,R0]</span></code><code><span class="code-snippet_outer">.text:C8A93E3A 34 4A       LDR             R2, =(aMain2 - 0xC8A93E40) ; &#34;main2&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93E3C 7A 44       ADD             R2, PC                  ; &#34;main2&#34;</span></code><code><span class="code-snippet_outer">.text:C8A93E3E 34 4B       LDR             R3, =(aILjavaLangObje_0 - 0xC8A93E44) ; &#34;(I[Ljava/lang/Object;)Ljava/lang/Object&#34;...</span></code><code><span class="code-snippet_outer">.text:C8A93E40 7B 44       ADD             R3, PC                  ; &#34;(I[Ljava/lang/Object;)Ljava/lang/Object&#34;...</span></code><code><span class="code-snippet_outer">.text:C8A93E42 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93E44 04 99       LDR             R1, [SP,#0x50+var_40]</span></code><code><span class="code-snippet_outer">.text:C8A93E46 A8 47       BLX             R5</span></code><code><span class="code-snippet_outer">.text:C8A93E48 05 00       MOVS            R5, R0</span></code><code><span class="code-snippet_outer">.text:C8A93E4A 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93E4C 07 F0 3C FD BL              ExceptionCheck_sub_C6BA18C8</span></code><code><span class="code-snippet_outer">.text:C8A93E50 00 26       MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text:C8A93E52 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93E54 14 D1       BNE             loc_C8A93E80</span></code><code><span class="code-snippet_outer">.text:C8A93E56 2A 00       MOVS            R2, R5</span></code><code><span class="code-snippet_outer">.text:C8A93E58 00 2D       CMP             R5, #0</span></code><code><span class="code-snippet_outer">.text:C8A93E5A 04 9D       LDR             R5, [SP,#0x50+var_40]</span></code><code><span class="code-snippet_outer">.text:C8A93E5C 11 D0       BEQ             loc_C8A93E82</span></code><code><span class="code-snippet_outer">.text:C8A93E5E 68 46       MOV             R0, SP</span></code><code><span class="code-snippet_outer">.text:C8A93E60 09 99       LDR             R1, [SP,#0x50+var_2C]</span></code><code><span class="code-snippet_outer">.text:C8A93E62 01 60       STR             R1, [R0,#0x50+var_50]</span></code><code><span class="code-snippet_outer">.text:C8A93E64 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93E66 29 00       MOVS            R1, R5</span></code><code><span class="code-snippet_outer">.text:C8A93E68 0A 9B       LDR             R3, [SP,#0x50+var_28]</span></code><code><span class="code-snippet_outer">.text:C8A93E6A 00 F0 DD F8 BL              CallStaticObjectMethodV_sub_B6892028</span></code><code><span class="code-snippet_outer">.text:C8A93E6E 0A 90       STR             R0, [SP,#0x50+var_28]</span></code><code><span class="code-snippet_outer">.text:C8A93E70 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93E72 07 F0 29 FD BL              ExceptionCheck_sub_C6BA18C8</span></code><code><span class="code-snippet_outer">.text:C8A93E76 00 26       MOVS            R6, #0</span></code><code><span class="code-snippet_outer">.text:C8A93E78 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8A93E7A 02 D1       BNE             loc_C8A93E82</span></code><code><span class="code-snippet_outer">.text:C8A93E7C 0A 9E       LDR             R6, [SP,#0x50+var_28]</span></code><code><span class="code-snippet_outer">.text:C8A93E7E 00 E0       B               loc_C8A93E82</span></code><code><span class="code-snippet_outer">.text:C8A93E80             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8A93E80</span></code><code><span class="code-snippet_outer">.text:C8A93E80             loc_C8A93E80                            ; CODE XREF: main2_sub_B6891C78+1DC↑j</span></code><code><span class="code-snippet_outer">.text:C8A93E80 04 9D       LDR             R5, [SP,#0x50+var_40]</span></code><code><span class="code-snippet_outer">.text:C8A93E82</span></code><code><span class="code-snippet_outer">.text:C8A93E82             loc_C8A93E82                            ; CODE XREF: main2_sub_B6891C78+160↑j</span></code><code><span class="code-snippet_outer">.text:C8A93E82                                                     ; main2_sub_B6891C78+1E4↑j ...</span></code><code><span class="code-snippet_outer">.text:C8A93E82 20 68       LDR             R0, [R4]</span></code><code><span class="code-snippet_outer">.text:C8A93E84 C2 6D       LDR             R2, [R0,#0x5C]</span></code><code><span class="code-snippet_outer">.text:C8A93E86 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8A93E88 29 00       MOVS            R1, R5</span></code><code><span class="code-snippet_outer">.text:C8A93E8A 90 47       BLX             R2</span></code><code><span class="code-snippet_outer">.text:C8A93E8C</span></code><code><span class="code-snippet_outer">.text:C8A93E8C             loc_C8A93E8C                            ; CODE XREF: main2_sub_B6891C78+13C↑j</span></code><code><span class="code-snippet_outer">.text:C8A93E8C                                                     ; main2_sub_B6891C78+140↑j</span></code><code><span class="code-snippet_outer">.text:C8A93E8C 05 99       LDR             R1, [SP,#0x50+var_3C]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">获取到的dfpid如下:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">DAD796C46B5A6525F4B89DF661A97C7A218A219FC24B93F689DEBD92</span></code></pre></section><h4 data-source-line="2032" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">5.4、获取xid (设备指纹)</span></h4><p data-source-line="2033" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">判断本地是否有存储，如果有优先读取本地，如果无反谢java层从服务器端获取，APP第一次运行进就用UUID与时间加密生成一个，这部分详细分析见后面设备指纹部分。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:C8AEE3A4 F0 B5       PUSH            {R4-R7,LR}</span></code><code><span class="code-snippet_outer">.text:C8AEE3A6 03 AF       ADD             R7, SP, #0xC</span></code><code><span class="code-snippet_outer">.text:C8AEE3A8 81 B0       SUB             SP, SP, #4</span></code><code><span class="code-snippet_outer">.text:C8AEE3AA 0C 00       MOVS            R4, R1</span></code><code><span class="code-snippet_outer">.text:C8AEE3AC 06 00       MOVS            R6, R0</span></code><code><span class="code-snippet_outer">.text:C8AEE3AE 00 23       MOVS            R3, #0</span></code><code><span class="code-snippet_outer">.text:C8AEE3B0 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8AEE3B2 11 00       MOVS            R1, R2</span></code><code><span class="code-snippet_outer">.text:C8AEE3B4 1A 00       MOVS            R2, R3</span></code><code><span class="code-snippet_outer">.text:C8AEE3B6 A5 F7 5F FC BL              main2_sub_B6891C78 ; 反射调用java层</span></code><code><span class="code-snippet_outer">.text:C8AEE3BA 05 00       MOVS            R5, R0</span></code><code><span class="code-snippet_outer">.text:C8AEE3BC 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C8AEE3BE AD F7 83 FA BL              ExceptionCheck_sub_C6BA18C8</span></code><code><span class="code-snippet_outer">.text:C8AEE3C2 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:C8AEE3C4 09 D0       BEQ             loc_C8AEE3DA</span></code><code><span class="code-snippet_outer">.text:C8AEE3C6 9C F7 5B F9 BL              malloc_sub_C8BC6680</span></code><code><span class="code-snippet_outer">.text:C8AEE3CA 01 00       MOVS            R1, R0</span></code><code><span class="code-snippet_outer">.text:C8AEE3CC 7C 31       ADDS            R1, #0x7C ; &#39;|&#39;</span></code><code><span class="code-snippet_outer">.text:C8AEE3CE 30 00       MOVS            R0, R6</span></code><code><span class="code-snippet_outer">.text:C8AEE3D0 15 F0 30 FA BL              empty_sub_C6C09834</span></code><code><span class="code-snippet_outer">.text:C8AEE3D4 00 2D       CMP             R5, #0</span></code><code><span class="code-snippet_outer">.text:C8AEE3D6 07 D1       BNE             loc_C8AEE3E8</span></code><code><span class="code-snippet_outer">.text:C8AEE3D8 13 E0       B               loc_C8AEE402</span></code><code><span class="code-snippet_outer">.text:C8AEE3DA             ; ---------------------------------------------------------------------------</span></code><code><span class="code-snippet_outer">.text:C8AEE3DA</span></code><code><span class="code-snippet_outer">.text:C8AEE3DA             loc_C8AEE3DA                            ; CODE XREF: main2_sub_B292E3A4+20↑j</span></code><code><span class="code-snippet_outer">.text:C8AEE3DA 00 2D       CMP             R5, #0</span></code><code><span class="code-snippet_outer">.text:C8AEE3DC 0A D0       BEQ             loc_C8AEE3F4</span></code><code><span class="code-snippet_outer">.text:C8AEE3DE 30 00       MOVS            R0, R6</span></code><code><span class="code-snippet_outer">.text:C8AEE3E0 21 00       MOVS            R1, R4</span></code><code><span class="code-snippet_outer">.text:C8AEE3E2 2A 00       MOVS            R2, R5</span></code><code><span class="code-snippet_outer">.text:C8AEE3E4 A9 F7 CE FC BL              String_sub_B28D7D84     ; 出现字符串</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">获取到的xid如下:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">Rs8NOy0BFS5JQxfdOoIxpMnKV3iqYWcblAjp0vpnWZyNzyF9rfsi3ekpm4ScaIZgeImizX/5AbS3e838Or4el4+PPPI2kD8XW+8vbvjDBSM=</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">组合json</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;a0&#34;: &#34;2.0&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a1&#34;: &#34;9b69f861-e054-4bc4-9daf-d36ae205ed3e&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a3&#34;: 2,</span></code><code><span class="code-snippet_outer">  &#34;a4&#34;: 1631754963,</span></code><code><span class="code-snippet_outer">  &#34;a5&#34;: &#34;An2sai6nXEuFYeKbDUk/qEo/7am8Jtn3O2Has5efofCux7iubGRCS8TKpjUgotJ6MGdQrBsvwh/peZwuikT+5rCr4RzN8SXXCeDOtZQ6sbo/snVdESSJweNqd6i/WbIwDOgv5eaWRQoISjdgNfW3hk7tf0QhsZFbOELcPxz5pRzo6d6EsBLFu5Mq8DbVNgsYF+6aqZ7302/G+Rr7MlUT2M9y3EjgjH01L39q/eRJ&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a6&#34;: 1025,</span></code><code><span class="code-snippet_outer">  &#34;a7&#34;: &#34;Rs8NOy0BFS5JQxfdOoIxpMnKV3iqYWcblAjp0vpnWZyNzyF9rfsi3ekpm4ScaIZgeImizX/5AbS3e838Or4el4+PPPI2kD8XW+8vbvjDBSM=&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a8&#34;: &#34;DAD796C46B5A6525F4B89DF661A97C7A218A219FC24B93F689DEBD92&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a9&#34;: &#34;f4ec12efNkQBqdtVlV78x1/Mln2Us/xw171NuJjdEXrGWsFDdMV5Te45wqjL0nPO8OFFKjvKthvva+lS9xqhMhSt1WZRjDYpsWc/eh3z4F2JTv3MOh8NEDmk7Frthx5/bczdDIKvRP0QneTfNKSm116fUjdLhOEYlNbym/xI+5jZAEJGfGjltFLEOmtOwgxasgHQh2woMl/vAyr7ePuoVC6wEcbv2+w6n/+Pl1U1KO2YcTw4peiZDqC7iHpTVQH4fWri9R5+Ev1zx/xObVqoxqe3TEW/t2EIRqQ4QoRZRix0xC6C280faz8U5vOqafUnm+qev7tjs7SOV4SNxBv+LEJTxr5IJU302FJEk/CqhKoz5eWRYtT5Z52kEanlfu4AGHcJLC343kpI3GxYw7uPeewA/Ye0qDgZUyfj0MPpaYMPj0UmtvnbXEU4+FaRaCb/LsQtWdOtEiEKveUQU9bTW4NfHch2+6gcHP2/E+UQSlREX67PPa9XN8tgL4H6qzghiE1NL3gYw0rrjzEXiO6jsjvIdzwDjeab9woJyr8W3xSACz3sezUS+AJAKohnJvlQkFM9cdG3lPYS7gByAK++K2/vI714kxJHqCZQQMbVNsoWj5w64YL+sE1A4byzOPgK71oPb9w6Cb+KwVlDtqH8F5vlVkO23Iq8E28BI2vQuq5TLRzMunjo45Ks2Py9ZZuHkGb+QIVpUz6ViB+JlUONKinIJF1p6g==&#34;,</span></code><code><span class="code-snippet_outer">  &#34;a10&#34;: &#34;{}&#34;,</span></code><code><span class="code-snippet_outer">  &#34;x0&#34;: 1</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">每一个字段的解释：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">a0:版本，a1:appkey, a3:版本,a4:时间,a5:加密的设备环境,a6:固定数字,a7:xid,a8:dfpid,a9:初始化时加密的设备环境信息(前8字符中CRC:f4ec12ef,因为我换手机了所以计算的值会不一样)</span></code></pre></section><h4 data-source-line="2094" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">5.5、计算请求体签名值</span></h4><p data-source-line="2095" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">获取请求体数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FA4C</span> 29 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FA4E</span> 0<span class="code-snippet__selector-tag">A</span> 58       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-attr">[R1,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FA50</span> 28 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FA52</span> 31 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-tag">R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FA54</span> 90 47       <span class="code-snippet__selector-tag">BLX</span>             <span class="code-snippet__selector-tag">R2</span>                      ; 获取<span class="code-snippet__selector-tag">body</span>长度</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FA56</span> 0<span class="code-snippet__selector-tag">A</span> 90       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[SP,#0x28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FA58</span> 28 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FA5A</span> 0<span class="code-snippet__selector-tag">B</span> <span class="code-snippet__selector-tag">F0</span> 35 <span class="code-snippet__selector-tag">FF</span> <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">ExceptionCheck_sub_C6BA18C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FA5E</span> 00 28       <span class="code-snippet__selector-tag">CMP</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#0</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FAF0</span> 00 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FAF2</span> 00 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FAF4</span> <span class="code-snippet__selector-tag">D8</span> 74       <span class="code-snippet__selector-tag">STRB</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R3,#0x13]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FAF6</span> 86 1<span class="code-snippet__selector-tag">B</span>       <span class="code-snippet__selector-tag">SUBS</span>            <span class="code-snippet__selector-tag">R6</span>, <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FAF8</span> 10 99       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[SP,#0xC+arg_34]</span>    ; 获取<span class="code-snippet__selector-tag">body</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FAFA</span> 0<span class="code-snippet__selector-tag">B</span> 20       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#0xB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FAFC</span> <span class="code-snippet__selector-tag">C2</span> 43       <span class="code-snippet__selector-tag">MVNS</span>            <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-tag">R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FAFE</span> 03 91       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[SP,#0xC+arg_0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB00</span> 08 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB02</span> 02 92       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-attr">[SP,#0xC+var_4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB04</span> 80 58       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R0,R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB06</span> 0<span class="code-snippet__selector-tag">A</span> 9<span class="code-snippet__selector-tag">C</span>       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R4</span>, <span class="code-snippet__selector-attr">[SP,#0xC+arg_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB08</span> 00 19       <span class="code-snippet__selector-tag">ADDS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB0A</span> 04 90       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[SP,#0xC+arg_4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB0C</span> 46 1<span class="code-snippet__selector-tag">C</span>       <span class="code-snippet__selector-tag">ADDS</span>            <span class="code-snippet__selector-tag">R6</span>, <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB0E</span> 30 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB10</span> <span class="code-snippet__selector-tag">FA</span> <span class="code-snippet__selector-tag">F7</span> <span class="code-snippet__selector-tag">EA</span> <span class="code-snippet__selector-tag">E8</span> <span class="code-snippet__selector-tag">BLX</span>             <span class="code-snippet__selector-tag">malloc</span>                  ; 分配<span class="code-snippet__selector-tag">body</span>存储空间</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB14</span> 00 21       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-id">#0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB16</span> 06 91       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[SP,#0xC+arg_C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB18</span> 32 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-tag">R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB1A</span> 06 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R6</span>, <span class="code-snippet__selector-tag">R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB1C</span> 20 <span class="code-snippet__selector-tag">F0</span> <span class="code-snippet__selector-tag">D0</span> <span class="code-snippet__selector-tag">FC</span> <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">memset_sub_C6BB64C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB20</span> 19 20 40 01 <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#0x320</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB24</span> 29 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB26</span> 08 58       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R1,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB28</span> 05 90       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[SP,#0xC+arg_8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB2A</span> 68 46       <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB2C</span> 06 60       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R6</span>, <span class="code-snippet__selector-attr">[R0,#0xC+var_C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB2E</span> 28 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB30</span> 07 99       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[SP,#0xC+arg_10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB32</span> 06 9<span class="code-snippet__selector-tag">A</span>       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-attr">[SP,#0xC+arg_C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB34</span> 23 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R3</span>, <span class="code-snippet__selector-tag">R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB36</span> 05 9<span class="code-snippet__selector-tag">C</span>       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R4</span>, <span class="code-snippet__selector-attr">[SP,#0xC+arg_8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB38</span> <span class="code-snippet__selector-tag">A0</span> 47       <span class="code-snippet__selector-tag">BLX</span>             <span class="code-snippet__selector-tag">R4</span>                      ; <span class="code-snippet__selector-tag">GetByteArrayRegion</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB38</span>                                                     ; 获取要计算签名的<span class="code-snippet__selector-tag">body</span>值</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB3A</span> 28 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB3C</span> 0<span class="code-snippet__selector-tag">B</span> <span class="code-snippet__selector-tag">F0</span> <span class="code-snippet__selector-tag">C4</span> <span class="code-snippet__selector-tag">FE</span> <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">ExceptionCheck_sub_C6BA18C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8A8FB40</span> 00 28       <span class="code-snippet__selector-tag">CMP</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#0</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">获取的数据(部分)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB092000</span>  <span class="code-snippet__string">50 4F 53 54 20 2F 76 35  2F 73 69 67 6E 20 7B 22  POST /v5/sign {&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB092010</span>  <span class="code-snippet__string">64 61 74 61 22 3A 22 62  4A 62 50 67 72 4B 49 42  data&#34;:&#34;bJbPgrKIB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB092020</span>  <span class="code-snippet__string">6A 6D 4E 4E 2B 6B 63 30  39 66 66 6F 54 70 67 48  jmNN+kc09ffoTpgH</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB092030</span>  <span class="code-snippet__string">57 39 57 46 7A 43 6B 67  75 4D 4E 71 50 52 57 68  W9WFzCkguMNqPRWh</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB092040</span>  <span class="code-snippet__string">6A 70 41 67 2B 4E 62 45  70 76 47 62 44 42 54 47  jpAg+NbEpvGbDBTG</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB092050</span>  <span class="code-snippet__string">6E 79 31 38 6C 6C 39 38  75 43 37 44 68 67 2B 33  ny18ll98uC7Dhg+3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB092060</span>  <span class="code-snippet__string">56 44 39 31 62 38 50 67  67 47 2F 47 56 61 52 59  VD91b8PggG/GVaRY</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB092070</span>  <span class="code-snippet__string">71 4D 4C 37 33 36 30 6E  63 71 41 59 57 37 68 4A  qML7360ncqAYW7hJ</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB092080</span>  <span class="code-snippet__string">4A 52 69 34 44 59 73 50  31 66 73 59 35 38 4F 79  JRi4DYsP1fsY58Oy</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密PIC数据获取key (a7),解密流程与初始化时一样。解密后的值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{<span class="code-snippet__attr">&#34;a1&#34;</span>:<span class="code-snippet__number">0</span>,<span class="code-snippet__attr">&#34;a10&#34;</span>:<span class="code-snippet__number">400</span>,<span class="code-snippet__attr">&#34;a2&#34;</span>:<span class="code-snippet__string">&#34;com.sankuai.meituan&#34;</span>,<span class="code-snippet__attr">&#34;a11&#34;</span>:<span class="code-snippet__string">&#34;c1ee9178c95d9ec75f0f076a374df94a032d54c8576298d4f75e653de3705449&#34;</span>,<span class="code-snippet__attr">&#34;a3&#34;</span>:<span class="code-snippet__string">&#34;0a16ecd60eb56a6a3349f66cdcf7f7bf5190e5a42d6280d8dc0ee3be228398ec&#34;</span>,<span class="code-snippet__attr">&#34;a4&#34;</span>:<span class="code-snippet__number">1100030200</span>,<span class="code-snippet__attr">&#34;k0&#34;</span>:{<span class="code-snippet__attr">&#34;k1&#34;</span>:<span class="code-snippet__string">&#34;meituan1sankuai0&#34;</span>,<span class="code-snippet__attr">&#34;k2&#34;</span>:<span class="code-snippet__string">&#34;meituan0sankuai1&#34;</span>,<span class="code-snippet__attr">&#34;k3&#34;</span>:<span class="code-snippet__string">&#34;$MXMYBS@HelloPay&#34;</span>,<span class="code-snippet__attr">&#34;k4&#34;</span>:<span class="code-snippet__string">&#34;Maoyan010iauknaS&#34;</span>,<span class="code-snippet__attr">&#34;k5&#34;</span>:<span class="code-snippet__string">&#34;34281a9dw2i701d4&#34;</span>,<span class="code-snippet__attr">&#34;k6&#34;</span>:<span class="code-snippet__string">&#34;X%rj@KiuU+|xY}?f&#34;</span>},<span class="code-snippet__attr">&#34;a5&#34;</span>:<span class="code-snippet__string">&#34;11.3.200&#34;</span>,<span class="code-snippet__attr">&#34;a0&#34;</span>:<span class="code-snippet__string">&#34;pw/LhTdeoTTyaxPHcHMy+/ssGNS1ihNkrJ+uBI74FIfd90KlTil1m0i7FF/n0bhY&#34;</span>,<span class="code-snippet__attr">&#34;a6&#34;</span>:<span class="code-snippet__string">&#34;/HntC9XIfdUyII/UiVfx020EQPpHz2XZY3qzM2aiNmM0i0pB1yeSO689TY9SBB3s&#34;</span>,<span class="code-snippet__attr">&#34;a7&#34;</span>:<span class="code-snippet__string">&#34;QsHnU6kFjTYR8Z6tHEvkGMO2Hrt+NRnVQhmxg6EtVBzuzQcBpma3AdhTWNMpesFT&#34;</span>,<span class="code-snippet__attr">&#34;c0&#34;</span>:{<span class="code-snippet__attr">&#34;c1&#34;</span>:<span class="code-snippet__literal">true</span>,<span class="code-snippet__attr">&#34;c2&#34;</span>:<span class="code-snippet__literal">false</span>},<span class="code-snippet__attr">&#34;a9&#34;</span>:<span class="code-snippet__string">&#34;SDEzWXi5LHL/cuMCZ1zYyv+0hIViqWWf+ShbUYILWf4=&#34;</span>,<span class="code-snippet__attr">&#34;a8&#34;</span>:<span class="code-snippet__number">1603800117167</span>}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解析json获取a7</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">QsHnU6kFjTYR8Z6tHEvkGMO2Hrt+NRnVQhmxg6EtVBzuzQcBpma3AdhTWNMpesFT</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">appkey与pic中的a7异或</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90424 20 00       MOVS            R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90426 02 99       LDR             R1, [SP,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90428 7E F0 12 FE BL              sub_C8B0F050</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A9042C 03 98       LDR             R0, [SP,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A9042E 00 5D       LDRB            R0, [R0,R4]             ; 取a7 QsHnU6kFjTYR8Z6tHEvkGMO2Hrt+NRnVQhmxg6EtVBzuzQcBpma3AdhTWNMpesFT</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90430 72 5C       LDRB            R2, [R6,R1]             ; appkey 9b69f861-e054-4bc4-9daf-d36ae205ed3e</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90432 42 40       EORS            R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90434 6A 54       STRB            R2, [R5,R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90436 01 34       ADDS            R4, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90438 04 98       LDR             R0, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A9043A A0 42       CMP             R0, R4                  ; 判断是否结束</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A9043C F2 D1       BNE             loc_C8A90424</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A9043E 03 B5       PUSH            {R0,R1,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90440 01 48       LDR             R0, =0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A90442 FF F7 DB FF BL              loc_C8A903FC</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">异或后的值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">BC79D120</span>  5E <span class="code-snippet__number">54</span> <span class="code-snippet__number">73</span> 4D <span class="code-snippet__number">30</span> 7A 4C <span class="code-snippet__number">44</span>  <span class="code-snippet__number">57</span> <span class="code-snippet__number">34</span> <span class="code-snippet__number">53</span> <span class="code-snippet__number">77</span> <span class="code-snippet__number">44</span> <span class="code-snippet__number">40</span> <span class="code-snippet__number">55</span> <span class="code-snippet__number">51</span> <span class="code-snippet__regexp"> ^TsM0zLDW4SwD<span class="code-snippet__variable">@UQ</span></span></span></code><code><span class="code-snippet_outer">BC79D130  <span class="code-snippet__number">22</span> <span class="code-snippet__number">50</span> <span class="code-snippet__number">45</span> 6D <span class="code-snippet__number">33</span> 2F 2B 5D  <span class="code-snippet__number">01</span> <span class="code-snippet__number">40</span> <span class="code-snippet__number">70</span> <span class="code-snippet__number">35</span> 2B <span class="code-snippet__number">60</span> 5E <span class="code-snippet__number">63</span>  <span class="code-snippet__string">&#34;PEm3/+].<span class="code-snippet__variable">@p5</span>+`^c</span></span></code><code><span class="code-snippet_outer">BC79D140  34 0C 5E 1D</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">再次异或</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C00             loc_C8A91C00                            ; CODE XREF: hmac_sha256_sub_BB754BAC+6C↓j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C00 43 A9       ADD             R1, SP, #0x160+var_54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C02 09 5C       LDRB            R1, [R1,R0]             ; 取APPkey与a7加密后数据</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C04 5C 22       MOVS            R2, #0x5C ; &#39;\&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C06 4A 40       EORS            R2, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C08 32 AB       ADD             R3, SP, #0x160+var_98</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C0A 1A 54       STRB            R2, [R3,R0]             ; 存值</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C0C 36 22       MOVS            R2, #0x36 ; &#39;6&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C0E 4A 40       EORS            R2, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C10 21 A9       ADD             R1, SP, #0x160+var_DC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C12 0A 54       STRB            R2, [R1,R0]             ; 存值</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C14 01 30       ADDS            R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C16 40 28       CMP             R0, #0x40 ; &#39;@&#39;         ; 判断是否结束</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C18 F2 D1       BNE             loc_C8A91C00</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">异或后的值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3000</span>  <span class="code-snippet__string">68 62 45 7B 06 4C 7A 72  61 02 65 41 72 76 63 67  hbE{.Lzra.eArvcg</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3010</span>  <span class="code-snippet__string">14 66 73 5B 05 19 1D 6B  37 76 46 03 1D 56 68 55  .fs[...k7vF..VhU</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3020</span>  <span class="code-snippet__string">02 3A 68 2B 36 36 36 36  36 36 36 36 36 36 36 36  .:h+666666666666</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3030</span>  <span class="code-snippet__string">36 36 36 36 36 36 36 36  36 36 36 36 36 36 36 36  6666666666666666</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">将异或后的值与请求体组合</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3000</span>  <span class="code-snippet__string">68 62 45 7B 06 4C 7A 72  61 02 65 41 72 76 63 67  hbE{.Lzra.eArvcg</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3010</span>  <span class="code-snippet__string">14 66 73 5B 05 19 1D 6B  37 76 46 03 1D 56 68 55  .fs[...k7vF..VhU</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3020</span>  <span class="code-snippet__string">02 3A 68 2B 36 36 36 36  36 36 36 36 36 36 36 36  .:h+666666666666</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3030</span>  <span class="code-snippet__string">36 36 36 36 36 36 36 36  36 36 36 36 36 36 36 36  6666666666666666</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3040</span>  <span class="code-snippet__string">50 4F 53 54 20 2F 76 35  2F 73 69 67 6E 20 7B 22  POST /v5/sign {&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3050</span>  <span class="code-snippet__string">64 61 74 61 22 3A 22 62  4A 62 50 67 72 4B 49 42  data&#34;:&#34;bJbPgrKIB</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3060</span>  <span class="code-snippet__string">6A 6D 4E 4E 2B 6B 63 30  39 66 66 6F 54 70 67 48  jmNN+kc09ffoTpgH</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3070</span>  <span class="code-snippet__string">57 39 57 46 7A 43 6B 67  75 4D 4E 71 50 52 57 68  W9WFzCkguMNqPRWh</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3080</span>  <span class="code-snippet__string">6A 70 41 67 2B 4E 62 45  70 76 47 62 44 42 54 47  jpAg+NbEpvGbDBTG</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D3090</span>  <span class="code-snippet__string">6E 79 31 38 6C 6C 39 38  75 43 37 44 68 67 2B 33  ny18ll98uC7Dhg+3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D30A0</span>  <span class="code-snippet__string">56 44 39 31 62 38 50 67  67 47 2F 47 56 61 52 59  VD91b8PggG/GVaRY</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">CB0D30B0</span>  <span class="code-snippet__string">71 4D 4C 37 33 36 30 6E  63 71 41 59 57 37 68 4A  qML7360ncqAYW7hJ</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算组合值的MD5</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C60 2A 00       MOVS            R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C62 00 F0 79 F9 BL              md5_sub_BB7CFF58        ; R0:原始数后,R1:大小,R2:返回</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C66 05 AE       ADD             R6, SP, #0x160+var_14C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C68 55 21       MOVS            R1, #0x55 ; &#39;U&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C6A 30 00       MOVS            R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C6C F8 F7 54 E8 BLX             __aeabi_memclr4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C70 32 A9       ADD             R1, SP, #0x160+var_98</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C72 30 00       MOVS            R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C74 02 9A       LDR             R2, [SP,#0x160+var_158]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C76 1E F0 48 FC BL              getvalu_sub_C87B550A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C7A 30 00       MOVS            R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C7C 40 30       ADDS            R0, #0x40 ; &#39;@&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C7E 14 22       MOVS            R2, #0x14</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C80 29 00       MOVS            R1, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C82 1E F0 42 FC BL              getvalu_sub_C87B550A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C86 54 21       MOVS            R1, #0x54 ; &#39;T&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C88 30 00       MOVS            R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C8A 01 9A       LDR             R2, [SP,#0x160+var_15C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C8C 00 F0 64 F9 BL              md5_sub_BB7CFF58        ; R0:原始数后,R1:大小,R2:返回</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C90 20 00       MOVS            R0, R4                  ; p</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C8A91C92 F8 F7 30 E8 BLX             free</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算后得到的值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">F0</span> EF <span class="code-snippet__number">16</span> F8 BD C6 7B CC  8C B4 8F AC 4C EC 7A DB A8 A8 D1 <span class="code-snippet__number">05</span></span></code></pre></section><p><br/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密PIC数据获取KEY(a9)，</span><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解析json获取</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">a3</span><span class="code-snippet__selector-pseudo">:0a16ecd60eb56a6a3349f66cdcf7f7bf5190e5a42d6280d8dc0ee3be228398ec</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">a3为AES KEY解密a9解密后数据，该值作为加密body md5值的key</span><br/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">3ey2scPxek170m6K</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"></span><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">AES加密Body计算得到的MD5值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">IV</span> 0102030405060708</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">key</span><span class="code-snippet__selector-pseudo">:3ey2scPxek170m6K</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA94F0</span> <span class="code-snippet__selector-tag">E0</span> <span class="code-snippet__selector-tag">F7</span> <span class="code-snippet__selector-tag">FA</span> <span class="code-snippet__selector-tag">EB</span> <span class="code-snippet__selector-tag">BLX</span>             <span class="code-snippet__selector-tag">malloc</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA94F4</span> 00 26       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R6</span>, <span class="code-snippet__selector-id">#0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA94F6</span> 00 28       <span class="code-snippet__selector-tag">CMP</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA94F8</span> 1<span class="code-snippet__selector-tag">C</span> <span class="code-snippet__selector-tag">D0</span>       <span class="code-snippet__selector-tag">BEQ</span>             <span class="code-snippet__selector-tag">loc_C8AA9534</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA94FA</span> 4<span class="code-snippet__selector-tag">A</span> 99       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[SP,#0x120+arg_0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA94FC</span> 03 91       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[SP,#0x120+var_114]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA94FE</span> 07 <span class="code-snippet__selector-tag">AE</span>       <span class="code-snippet__selector-tag">ADD</span>             <span class="code-snippet__selector-tag">R6</span>, <span class="code-snippet__selector-tag">SP</span>, <span class="code-snippet__selector-id">#0x120</span>+<span class="code-snippet__selector-tag">var_104</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9500</span> <span class="code-snippet__selector-tag">F4</span> 21       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-id">#0xF4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9502</span> 02 90       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[SP,#0x120+var_118]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9504</span> 30 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9506</span> <span class="code-snippet__selector-tag">E0</span> <span class="code-snippet__selector-tag">F7</span> 08 <span class="code-snippet__selector-tag">EC</span> <span class="code-snippet__selector-tag">BLX</span>             __<span class="code-snippet__selector-tag">aeabi_memclr4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA950A</span> 80 21       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-id">#0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA950C</span> 20 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA950E</span> 32 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-tag">R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9510</span> 56 <span class="code-snippet__selector-tag">F0</span> 30 <span class="code-snippet__selector-tag">FF</span> <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">AES_set_Encrypt_key_sub_CB601374</span> ; <span class="code-snippet__selector-tag">R0</span><span class="code-snippet__selector-pseudo">:key</span>,<span class="code-snippet__selector-tag">R1</span>:长度,<span class="code-snippet__selector-tag">R2</span>:返回值</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9514</span> 06 9<span class="code-snippet__selector-tag">A</span>       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-attr">[SP,#0x120+byte_count]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9516</span> 01 20       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9518</span> 69 46       <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-tag">SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA951A</span> 04 9<span class="code-snippet__selector-tag">B</span>       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R3</span>, <span class="code-snippet__selector-attr">[SP,#0x120+var_110]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA951C</span> 0<span class="code-snippet__selector-tag">B</span> 60       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R3</span>, <span class="code-snippet__selector-attr">[R1,#0x120+var_120]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA951E</span> 48 60       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R1,#0x120+var_11C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9520</span> 05 98       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[SP,#0x120+p]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9522</span> 02 9<span class="code-snippet__selector-tag">C</span>       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R4</span>, <span class="code-snippet__selector-attr">[SP,#0x120+var_118]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9524</span> 21 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-tag">R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9526</span> 33 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R3</span>, <span class="code-snippet__selector-tag">R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9528</span> 57 <span class="code-snippet__selector-tag">F0</span> 7<span class="code-snippet__selector-tag">A</span> <span class="code-snippet__selector-tag">FD</span> <span class="code-snippet__selector-tag">BL</span>              <span class="code-snippet__selector-tag">AES_cbc_Encrypt_sub_CB602020</span> ; <span class="code-snippet__selector-tag">R0</span>：原始数据,<span class="code-snippet__selector-tag">R1</span>:返回,<span class="code-snippet__selector-tag">R2</span>:大小,<span class="code-snippet__selector-tag">R3</span><span class="code-snippet__selector-pseudo">:key</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA952C</span> 06 98       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[SP,#0x120+byte_count]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA952E</span> 03 99       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[SP,#0x120+var_114]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9530</span> 08 60       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9532</span> 26 00       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R6</span>, <span class="code-snippet__selector-tag">R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9534</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9534</span>             <span class="code-snippet__selector-tag">loc_C8AA9534</span>                            ; <span class="code-snippet__selector-tag">CODE</span> <span class="code-snippet__selector-tag">XREF</span>: <span class="code-snippet__selector-tag">Aes_sub_CB5AA4B8</span>+40↑<span class="code-snippet__selector-tag">j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9534</span> 05 98       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[SP,#0x120+p]</span>       ; <span class="code-snippet__selector-tag">p</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-class">.text</span><span class="code-snippet__selector-pseudo">:C8AA9536</span> <span class="code-snippet__selector-tag">E0</span> <span class="code-snippet__selector-tag">F7</span> <span class="code-snippet__selector-tag">DE</span> <span class="code-snippet__selector-tag">EB</span> <span class="code-snippet__selector-tag">BLX</span>             <span class="code-snippet__selector-tag">free</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">加密后数据</span></p><pre data-source-line="2308" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">C7B9C460  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B B7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>D  FE B9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">85</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> AE<br/>C7B9C470  BB AF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> FB C5  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> E2 C6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> EA</code></pre><p data-source-line="2312" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">转换成字符串</p><pre data-source-line="2313" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">06344</span>bb<span style="box-sizing: border-box;color: rgb(0, 128, 128);">7173</span>b<span style="box-sizing: border-box;color: rgb(0, 128, 128);">299</span>dfeb<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9858</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">246</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span>aebbaf<span style="box-sizing: border-box;color: rgb(0, 128, 128);">223</span>f<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8e43</span>fbc<span style="box-sizing: border-box;color: rgb(0, 128, 128);">5662</span>b<span style="box-sizing: border-box;color: rgb(0, 128, 128);">54e2</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span>a<span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span>ea</code></pre><p data-source-line="2316" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">组合json,生成签名</p><pre data-source-line="2317" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">{<br/>	<span style="box-sizing: border-box;">&#34;a0&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;2.0&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;a1&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;9b69f861-e054-4bc4-9daf-d36ae205ed3e&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;a3&#34;</span>: <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>,<br/>	<span style="box-sizing: border-box;">&#34;a4&#34;</span>: <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1631754963</span>,<br/>	<span style="box-sizing: border-box;">&#34;a5&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;An2sai6nXEuFYeKbDUk/qEo/7am8Jtn3O2Has5efofCux7iubGRCS8TKpjUgotJ6MGdQrBsvwh/peZwuikT+5rCr4RzN8SXXCeDOtZQ6sbo/snVdESSJweNqd6i/WbIwDOgv5eaWRQoISjdgNfW3hk7tf0QhsZFbOELcPxz5pRzo6d6EsBLFu5Mq8DbVNgsYF+6aqZ7302/G+Rr7MlUT2M9y3EjgjH01L39q/eRJ&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;a6&#34;</span>: <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1025</span>,<br/>	<span style="box-sizing: border-box;">&#34;a7&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;Rs8NOy0BFS5JQxfdOoIxpMnKV3iqYWcblAjp0vpnWZyNzyF9rfsi3ekpm4ScaIZgeImizX/5AbS3e838Or4el4+PPPI2kD8XW+8vbvjDBSM=&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;a8&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;DAD796C46B5A6525F4B89DF661A97C7A218A219FC24B93F689DEBD92&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;a9&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;f4ec12efNkQBqdtVlV78x1/Mln2Us/xw171NuJjdEXrGWsFDdMV5Te45wqjL0nPO8OFFKjvKthvva+lS9xqhMhSt1WZRjDYpsWc/eh3z4F2JTv3MOh8NEDmk7Frthx5/bczdDIKvRP0QneTfNKSm116fUjdLhOEYlNbym/xI+5jZAEJGfGjltFLEOmtOwgxasgHQh2woMl/vAyr7ePuoVC6wEcbv2+w6n/+Pl1U1KO2YcTw4peiZDqC7iHpTVQH4fWri9R5+Ev1zx/xObVqoxqe3TEW/t2EIRqQ4QoRZRix0xC6C280faz8U5vOqafUnm+qev7tjs7SOV4SNxBv+LEJTxr5IJU302FJEk/CqhKoz5eWRYtT5Z52kEanlfu4AGHcJLC343kpI3GxYw7uPeewA/Ye0qDgZUyfj0MPpaYMPj0UmtvnbXEU4+FaRaCb/LsQtWdOtEiEKveUQU9bTW4NfHch2+6gcHP2/E+UQSlREX67PPa9XN8tgL4H6qzghiE1NL3gYw0rrjzEXiO6jsjvIdzwDjeab9woJyr8W3xSACz3sezUS+AJAKohnJvlQkFM9cdG3lPYS7gByAK++K2/vI714kxJHqCZQQMbVNsoWj5w64YL+sE1A4byzOPgK71oPb9w6Cb+KwVlDtqH8F5vlVkO23Iq8E28BI2vQuq5TLRzMunjo45Ks2Py9ZZuHkGb+QIVpUz6ViB+JlUONKinIJF1p6g==&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;a10&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;{}&#34;</span>,<br/>	<span style="box-sizing: border-box;">&#34;x0&#34;</span>: <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<br/>	<span style="box-sizing: border-box;">&#34;a2&#34;</span>: <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;06344bb7173b299dfeb9858d246c52aebbaf223f8e43fbc5662b54e2c66a54ea&#34;</span><br/>}<br/></code></pre><p data-source-line="2333" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">a2:就是请求体签名值，其它字段上面已经解释过，然后将签名值返回到java层，整个签名流程就完成了。</p><p><br/></p><p><span style="font-size: 14px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">作者简介：</span><br style="font-size: 14px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"/><span style="font-size: 14px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">我是小三，目前从事软件安全相关工作，虽己工作多年，但内心依然有着执着的追求，信奉终身成长，不定义自己，热爱技术但不拘泥于技术，爱好分享，喜欢读书和乐于结交朋友，欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)</span></p>



<p><a href="2247483991">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=132bc0b1&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247483991%26idx%3D1%26sn%3D2ab42cb7662ebf16c25a2ab923a60092%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 29 Sep 2021 23:59:00 +0800</pubDate>
    </item>
    <item>
      <title>美团外买APP设备指纹风控分析一(初始化)</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483987&amp;idx=1&amp;sn=48a5ec2021813a37b5d223a404884f92</link>
      <description>设备指纹技术是使用更多的信息来完成对终端设备的唯一性识别，在业务中可以有效辨别设备是真实用户还是机器在注册、登录，及时检测出单设备登入多帐号、防止批量注册、登录等操作行为。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-09-17 19:30</span> <span style="display: inline-block;"></span>
</p>

<p>设备指纹技术是使用更多的信息来完成对终端设备的唯一性识别，在业务中可以有效辨别设备是真实用户还是机器在注册、登录，及时检测出单设备登入多帐号、防止批量注册、登录等操作行为。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=350db4a6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibU4rRxiclW8aJSibKJWX0D5UoFLGmgWfiaus653zC3joTeG2ZibZnGZfzibZ53EIFoAicGAFibwdvyFX6KwQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<pre data-source-line="3" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="font-size: 14px;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">一、电商类</span><span style="box-sizing: border-box;font-weight: bold;">APP</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">业务风险类型</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">二、设备指纹在业务中的应用</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">三、整体框架</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">四、初始化流程分析</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">五、反爬虫</span>mtgsig<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">签名</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">六、设备指纹分析</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">七、设备指纹攻击</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">八、黑产工具特征检测</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">九、总结</span></span></code></pre><h3 data-source-line="16" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">一、电商类APP业务风险类型</span></h3><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">电商行业的各个业务场景面临不同的风险种类：客户端漏洞利用、协议逆向、注册小号、商品信息被抓取、推广渠道作弊、营销活动被薅羊毛、商品秒杀等。<br style="box-sizing: border-box;"/>大多的防御方案是通过端上安全、链路安全、接口和数据传输安全保护，再借助设备安全核验技术、人机识别及时<span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">发</span>现各种模拟行为和异操作风险、同时集合风控策略实现多节点防护。<br style="box-sizing: border-box;"/></span></p><h3 data-source-line="19" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">二、设备指纹在业务中的应用</span></h3><p data-source-line="20" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">设备指纹技术是使用更多的信息来完成对终端设备的唯一性识别，在业务中可以有效辨别设备是真实用户还是机器在注册、登录，及时检测出单设备登入多帐号、防止批量注册、登录等操作行为。</span></p><h3 data-source-line="21" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">三、整体框架</span></h3><p data-source-line="22" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">因为框架流程过于复杂，我将框架分为两个部分，一是初始化，二是设备指纹，这样会更清楚些，如图3-1与3-2所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="2.36875" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=3930e5cb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibU4rRxiclW8aJSibKJWX0D5Uo6dEPkdiacWHPpia0iaobQlXXoQsZ2j9OSMLAQ4lQhohaPlsa4KZzQyT1A%2F640%3Fwx_fmt%3Dpng"/></p><p>                                <span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">图3-1</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="2.36953125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=bd6a11ec&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibU4rRxiclW8aJSibKJWX0D5UogNib9vyTFicgLjOjUHrKYAKglDj5gWDPicf6BoyMpaNo6iaibiag0UTSDdww%2F640%3Fwx_fmt%3Dpng"/></p><p>                                <span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">图3-2</span></p><h3 data-source-line="27" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">四、初始化流程分析</span></h3><h4 data-source-line="28" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.1、初始化准备</span></h4><p data-source-line="29" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">java层调用init()初始化，获取Context，包名，AppInfo，XML配置信息等，然后加载so libmtguard.so 在so中注册一个Native方法，该Native方法传入不同的数字代表不同的功能，代码如下所示：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="typescript"><code><span class="code-snippet_outer">Lcom/meituan/android/common/mtguard/MTGuard;-&gt;loadSo(Ljava/lang/String;)V</span></code><code><span class="code-snippet_outer">System.loadLibrary(&#34;mtguard&#34;);</span></code><code><span class="code-snippet_outer">//注册Native方法</span></code><code><span class="code-snippet_outer">private static native Object[] main(int arg0, Object[] arg1)//arg0:传入不同的编号走不同的逻辑，arg1:参数</span></code></pre></section><p data-source-line="29" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><br/></p><h4 data-source-line="37" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.2、系统环境检测</span></h4><p data-source-line="38" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">调用Native层Object[] v12_2 = NBridge.main3(1, new Object[1])，传入参数为1,表示检测环境， 检测系统目录中是否有ls文件且是否为elf格式:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:B1BF744E 01 26       MOVS            R6, #1</span></code><code><span class="code-snippet_outer">.text:B1BF7450 2E 70       STRB            R6, [R5]</span></code><code><span class="code-snippet_outer">.text:B1BF7452 20 48       LDR             R0, =(aSystemBinLs - 0xB1BF7458) ; &#34;/system/bin/ls&#34;</span></code><code><span class="code-snippet_outer">.text:B1BF7454 78 44       ADD             R0, PC                  ; &#34;/system/bin/ls&#34; ; file</span></code><code><span class="code-snippet_outer">.text:B1BF7456 00 25       MOVS            R5, #0</span></code><code><span class="code-snippet_outer">.text:B1BF7458 29 00       MOVS            R1, R5                  ; oflag</span></code><code><span class="code-snippet_outer">.text:B1BF745A CF F7 A0 EC BLX             open</span></code><code><span class="code-snippet_outer">.text:B1BF745E 04 00       MOVS            R4, R0</span></code><code><span class="code-snippet_outer">.text:B1BF7460 00 2C       CMP             R4, #0</span></code><code><span class="code-snippet_outer">.text:B1BF7462 25 DB       BLT             loc_B1BF74B0</span></code><code><span class="code-snippet_outer">.text:B1BF7464 01 AD       ADD             R5, SP, #0x28+buf</span></code><code><span class="code-snippet_outer">.text:B1BF7466 14 22       MOVS            R2, #0x14               ; nbytes</span></code><code><span class="code-snippet_outer">.text:B1BF7468 20 00       MOVS            R0, R4                  ; fd</span></code><code><span class="code-snippet_outer">.text:B1BF746A 29 00       MOVS            R1, R5                  ; buf</span></code><code><span class="code-snippet_outer">.text:B1BF746C CF F7 10 EE BLX             read</span></code><code><span class="code-snippet_outer">.text:B1BF7470 14 28       CMP             R0, #0x14</span></code><code><span class="code-snippet_outer">.text:B1BF7472 18 D1       BNE             loc_B1BF74A6</span></code><code><span class="code-snippet_outer">.text:B1BF7474 28 78       LDRB            R0, [R5]</span></code><code><span class="code-snippet_outer">.text:B1BF7476 7F 28       CMP             R0, #0x7F</span></code><code><span class="code-snippet_outer">.text:B1BF7478 15 D1       BNE             loc_B1BF74A6</span></code><code><span class="code-snippet_outer">.text:B1BF747A 01 A8       ADD             R0, SP, #0x28+buf</span></code><code><span class="code-snippet_outer">.text:B1BF747C 40 78       LDRB            R0, [R0,#1]</span></code><code><span class="code-snippet_outer">.text:B1BF747E 45 28       CMP             R0, #0x45 ; &#39;E&#39;</span></code><code><span class="code-snippet_outer">.text:B1BF7480 11 D1       BNE             loc_B1BF74A6</span></code><code><span class="code-snippet_outer">.text:B1BF7482 01 A8       ADD             R0, SP, #0x28+buf</span></code><code><span class="code-snippet_outer">.text:B1BF7484 80 78       LDRB            R0, [R0,#2]</span></code><code><span class="code-snippet_outer">.text:B1BF7486 4C 28       CMP             R0, #0x4C ; &#39;L&#39;</span></code><code><span class="code-snippet_outer">.text:B1BF7488 0D D1       BNE             loc_B1BF74A6</span></code><code><span class="code-snippet_outer">.text:B1BF748A 01 A8       ADD             R0, SP, #0x28+buf</span></code><code><span class="code-snippet_outer">.text:B1BF748C C0 78       LDRB            R0, [R0,#3]</span></code><code><span class="code-snippet_outer">.text:B1BF748E 46 28       CMP             R0, #0x46 ; &#39;F&#39;</span></code><code><span class="code-snippet_outer">.text:B1BF7490 09 D1       BNE             loc_B1BF74A6</span></code><code><span class="code-snippet_outer">.text:B1BF7492 01 A8       ADD             R0, SP, #0x28+buf</span></code><code><span class="code-snippet_outer">.text:B1BF7494 80 7C       LDRB            R0, [R0,#0x12]</span></code><code><span class="code-snippet_outer">.text:B1BF7496 3E 28       CMP             R0, #0x3E ; &#39;&gt;&#39;</span></code><code><span class="code-snippet_outer">.text:B1BF7498 01 D0       BEQ             loc_B1BF749E</span></code><code><span class="code-snippet_outer">.text:B1BF749A 03 28       CMP             R0, #3</span></code><code><span class="code-snippet_outer">.text:B1BF749C 03 D1       BNE             loc_B1BF74A6</span></code><code><span class="code-snippet_outer">.text:B1BF749E</span></code><code><span class="code-snippet_outer">.text:B1BF749E             loc_B1BF749E </span></code><code><span class="code-snippet_outer">.text:B1BF749E 20 00       MOVS            R0, R4                  ; fd</span></code><code><span class="code-snippet_outer">.text:B1BF74A0 CF F7 88 EC BLX             close</span></code></pre></section><p data-source-line="38" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">检测root:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="perl"><code><span class="code-snippet_outer">//检测root 直接用svc指令，防止hook</span></code><code><span class="code-snippet_outer">.text:BB9F5444 ;faccessat</span></code><code><span class="code-snippet_outer">.text:BB9F5444 F0 B5       PUSH            {R4-R7,LR}</span></code><code><span class="code-snippet_outer">.text:BB9F5446 03 AF       ADD             R7, SP, #0xC</span></code><code><span class="code-snippet_outer">.text:BB9F5448 0B 00       MOVS            R3, R1</span></code><code><span class="code-snippet_outer">.text:BB9F544A 04 00       MOVS            R4, R0</span></code><code><span class="code-snippet_outer">.text:BB9F544C 63 20       MOVS            R0, #0x63 ; &#39;c&#39;</span></code><code><span class="code-snippet_outer">.text:BB9F544E C5 43       MVNS            R5, R0</span></code><code><span class="code-snippet_outer">.text:BB9F5450 A7 20       MOVS            R0, #0xA7</span></code><code><span class="code-snippet_outer">.text:BB9F5452 46 00       LSLS            R6, R0, #1</span></code><code><span class="code-snippet_outer">.text:BB9F5454 28 46       MOV             R0, R5</span></code><code><span class="code-snippet_outer">.text:BB9F5456 21 46       MOV             R1, R4</span></code><code><span class="code-snippet_outer">.text:BB9F5458 1A 46       MOV             R2, R3</span></code><code><span class="code-snippet_outer">.text:BB9F545A 37 46       MOV             R7, R6</span></code><code><span class="code-snippet_outer">.text:BB9F545C 00 DF       SVC             0</span></code><code><span class="code-snippet_outer">.text:BB9F545E 03 46       MOV             R3, R0</span></code><code><span class="code-snippet_outer">.text:BB9F5460 18 00       MOVS            R0, R3</span></code><code><span class="code-snippet_outer">.text:BB9F5462 F0 BD       POP             {R4-R7,PC}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//检测文件特征</span></code><code><span class="code-snippet_outer">/system/bin/su </span></code><code><span class="code-snippet_outer">/system/bin/360s</span></code><code><span class="code-snippet_outer">/system/xbin/krdem</span></code><code><span class="code-snippet_outer">/system/xbin/ku.sud</span></code><code><span class="code-snippet_outer">/system/xbin/ksud</span></code><code><span class="code-snippet_outer">/system/bin/.usr/.ku</span></code><code><span class="code-snippet_outer">/system/xbin/ku.sud.tmp</span></code><code><span class="code-snippet_outer">/system/bin/ddexe_real</span></code><code><span class="code-snippet_outer">/system/bin/.krsh</span></code><code><span class="code-snippet_outer">/system/bin/.suv</span></code><code><span class="code-snippet_outer">/system/bin/debuggerd-ku.bak</span></code><code><span class="code-snippet_outer">/system/xbin/kugote</span></code><code><span class="code-snippet_outer">/system/xbin/kugote</span></code><code><span class="code-snippet_outer">/system/usr/ikm/ikmsu</span></code><code><span class="code-snippet_outer">/system/etc/kds</span></code><code><span class="code-snippet_outer">/system/xbin/start_kusud.sh</span></code><code><span class="code-snippet_outer">/system/bin/ddexe-tcs.bak</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//检测结果</span></code><code><span class="code-snippet_outer">1|2|3|32 //字符串的编号</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">检测XPOSED、代理、ROM是否为自己编译的</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">//检测</span></code><code><span class="code-snippet_outer">de.robv.android.xposed.XposedBridge</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//检测代理</span></code><code><span class="code-snippet_outer">http.proxyHost</span></code><code><span class="code-snippet_outer">https.proxyHost</span></code><code><span class="code-snippet_outer">getProperty</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">检测关键方法是否被hook</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">//检测方法是否被hook</span></code><code><span class="code-snippet_outer">传入方法首地址进行对比 0x780x5F  0xF8DF</span></code><code><span class="code-snippet_outer">//如果检测到第一个方法被hook，结果如下</span></code><code><span class="code-snippet_outer">1|</span></code><code><span class="code-snippet_outer">如果检测到第2个方法被hook，结果如下</span></code><code><span class="code-snippet_outer">1|2|</span></code><code><span class="code-snippet_outer">如果检测到第3个方法被hook，结果如下</span></code><code><span class="code-snippet_outer">1|2|3|</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">其它检测，代码如下:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="typescript"><code><span class="code-snippet_outer">boolean v2 = MTGuard.isEmu();</span></code><code><span class="code-snippet_outer">boolean v3 = MTGuard.isRoot();</span></code><code><span class="code-snippet_outer">boolean v4 = MTGuard.hasMalware();</span></code><code><span class="code-snippet_outer">boolean v5 = MTGuard.isDarkSystem();</span></code><code><span class="code-snippet_outer">boolean v6 = MTGuard.isVirtualLocation();</span></code><code><span class="code-snippet_outer">boolean v7 = MTGuard.isRemoteCall();</span></code><code><span class="code-snippet_outer">boolean v8 = MTGuard.isSigCheckOK();</span></code><code><span class="code-snippet_outer">boolean v11 = MTGuard.inSandBox();</span></code><code><span class="code-snippet_outer">boolean v13 = MTGuard.isHook();</span></code><code><span class="code-snippet_outer">boolean v14 = MTGuard.isDebug();</span></code><code><span class="code-snippet_outer">boolean v15 = MTGuard.isProxy();</span></code><code><span class="code-snippet_outer">boolean v16 = MTGuard.isCameraHack();</span></code><code><span class="code-snippet_outer">最终都会走到Native方法中去</span></code><code><span class="code-snippet_outer">private static native Object[] main(int arg0, Object[] arg1);</span></code></pre></section><h4 data-source-line="168" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.3、读取资源文件并解密</span></h4><h5 data-source-line="169" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.3.1、读文件META-INF/SANKUAI.RSA计算MD5</span></h5><p data-source-line="170" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:B65E1FE4 F0 B5       PUSH            {R4-R7,LR}</span></code><code><span class="code-snippet_outer">.text:B65E1FE6 03 AF       ADD             R7, SP, #0xC</span></code><code><span class="code-snippet_outer">.text:B65E1FE8 8F B0       SUB             SP, SP, #0x3C</span></code><code><span class="code-snippet_outer">.text:B65E1FEA 0E 00       MOVS            R6, R1</span></code><code><span class="code-snippet_outer">.text:B65E1FEC 2D 49       LDR             R1, =(__stack_chk_guard_ptr - 0xB65E1FF2)</span></code><code><span class="code-snippet_outer">.text:B65E1FEE 79 44       ADD             R1, PC                  ; __stack_chk_guard_ptr</span></code><code><span class="code-snippet_outer">.text:B65E1FF0 0C 68       LDR             R4, [R1]                ; __stack_chk_guard</span></code><code><span class="code-snippet_outer">.text:B65E1FF2 21 68       LDR             R1, [R4]</span></code><code><span class="code-snippet_outer">.text:B65E1FF4 0E 91       STR             R1, [SP,#0x48+var_10]</span></code><code><span class="code-snippet_outer">.text:B65E1FF6 0A 21       MOVS            R1, #0xA</span></code><code><span class="code-snippet_outer">.text:B65E1FF8 CA 43       MVNS            R2, R1</span></code><code><span class="code-snippet_outer">.text:B65E1FFA 01 68       LDR             R1, [R0]                ; file</span></code><code><span class="code-snippet_outer">.text:B65E1FFC 48 1E       SUBS            R0, R1, #1</span></code><code><span class="code-snippet_outer">.text:B65E1FFE 82 58       LDR             R2, [R0,R2]</span></code><code><span class="code-snippet_outer">.text:B65E2000 00 25       MOVS            R5, #0</span></code><code><span class="code-snippet_outer">.text:B65E2002 E8 43       MVNS            R0, R5</span></code><code><span class="code-snippet_outer">.text:B65E2004 00 2A       CMP             R2, #0</span></code><code><span class="code-snippet_outer">.text:B65E2006 43 D0       BEQ             loc_B65E2090</span></code><code><span class="code-snippet_outer">.text:B65E2008 00 25       MOVS            R5, #0</span></code><code><span class="code-snippet_outer">.text:B65E200A 05 95       STR             R5, [SP,#0x48+var_34]</span></code><code><span class="code-snippet_outer">.text:B65E200C 04 90       STR             R0, [SP,#0x48+var_38]</span></code><code><span class="code-snippet_outer">.text:B65E200E 06 90       STR             R0, [SP,#0x48+var_30]</span></code><code><span class="code-snippet_outer">.text:B65E2010 07 95       STR             R5, [SP,#0x48+var_2C]</span></code><code><span class="code-snippet_outer">.text:B65E2012 08 90       STR             R0, [SP,#0x48+var_28]</span></code><code><span class="code-snippet_outer">.text:B65E2014 0C 90       STR             R0, [SP,#0x48+var_18]</span></code><code><span class="code-snippet_outer">.text:B65E2016 0D 95       STR             R5, [SP,#0x48+var_14]</span></code><code><span class="code-snippet_outer">.text:B65E2018 E8 43       MVNS            R0, R5</span></code><code><span class="code-snippet_outer">.text:B65E201A 0B 90       STR             R0, [SP,#0x48+var_1C]</span></code><code><span class="code-snippet_outer">.text:B65E201C 0A 90       STR             R0, [SP,#0x48+var_20]</span></code><code><span class="code-snippet_outer">.text:B65E201E 04 A8       ADD             R0, SP, #0x48+var_38    ; int</span></code><code><span class="code-snippet_outer">.text:B65E2020 0D F0 40 FF BL              openfile_sub_C6BADEA4   ; R3：要读取的文件</span></code><code><span class="code-snippet_outer">.text:B65E2024 01 30       ADDS            R0, #1</span></code><code><span class="code-snippet_outer">.text:B65E2026 30 D0       BEQ             loc_B65E208A</span></code><code><span class="code-snippet_outer">.text:B65E2028 02 96       STR             R6, [SP,#0x48+var_40]</span></code><code><span class="code-snippet_outer">.text:B65E202A 04 A8       ADD             R0, SP, #0x48+var_38</span></code><code><span class="code-snippet_outer">.text:B65E202C 1E 49       LDR             R1, =(sub_B65E20AC+1 - 0xB65E2032)</span></code><code><span class="code-snippet_outer">.text:B65E202E 79 44       ADD             R1, PC                  ; sub_B65E20AC</span></code><code><span class="code-snippet_outer">.text:B65E2030 0E F0 C8 F9 BL              size_sub_C6BAE3C4</span></code><code><span class="code-snippet_outer">.text:B65E2034 06 00       MOVS            R6, R0</span></code><code><span class="code-snippet_outer">.text:B65E2036 00 2E       CMP             R6, #0</span></code><code><span class="code-snippet_outer">.text:B65E2038 27 D0       BEQ             loc_B65E208A</span></code><code><span class="code-snippet_outer">.text:B65E203A 00 25       MOVS            R5, #0</span></code><code><span class="code-snippet_outer">.text:B65E203C 03 95       STR             R5, [SP,#0x48+byte_count]</span></code><code><span class="code-snippet_outer">.text:B65E203E 04 A8       ADD             R0, SP, #0x48+var_38</span></code><code><span class="code-snippet_outer">.text:B65E2040 03 AA       ADD             R2, SP, #0x48+byte_count</span></code><code><span class="code-snippet_outer">.text:B65E2042 31 00       MOVS            R1, R6</span></code><code><span class="code-snippet_outer">.text:B65E2044 0E F0 2E FB BL              read_sub_C6BAE6A4</span></code><code><span class="code-snippet_outer">.text:B65E2048 03 99       LDR             R1, [SP,#0x48+byte_count]</span></code><code><span class="code-snippet_outer">.text:B65E204A 00 29       CMP             R1, #0</span></code><code><span class="code-snippet_outer">.text:B65E204C 1D D0       BEQ             loc_B65E208A</span></code><code><span class="code-snippet_outer">.text:B65E204E 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:B65E2050 1B D0       BEQ             loc_B65E208A</span></code><code><span class="code-snippet_outer">.text:B65E2052 08 00       MOVS            R0, R1                  ; byte_count</span></code><code><span class="code-snippet_outer">.text:B65E2054 01 91       STR             R1, [SP,#0x48+var_44]</span></code><code><span class="code-snippet_outer">.text:B65E2056 EF F7 48 EE BLX             malloc                  ; 分配存放空间</span></code><code><span class="code-snippet_outer">.text:B65E205A 02 00       MOVS            R2, R0</span></code><code><span class="code-snippet_outer">.text:B65E205C 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:B65E205E 14 D0       BEQ             loc_B65E208A</span></code><code><span class="code-snippet_outer">.text:B65E2060 00 21       MOVS            R1, #0</span></code><code><span class="code-snippet_outer">.text:B65E2062 15 00       MOVS            R5, R2</span></code><code><span class="code-snippet_outer">.text:B65E2064 28 00       MOVS            R0, R5</span></code><code><span class="code-snippet_outer">.text:B65E2066 01 9A       LDR             R2, [SP,#0x48+var_44]</span></code><code><span class="code-snippet_outer">.text:B65E2068 16 F0 2A FA BL              memset_sub_C6BB64C0</span></code><code><span class="code-snippet_outer">.text:B65E206C 04 A8       ADD             R0, SP, #0x48+var_38</span></code><code><span class="code-snippet_outer">.text:B65E206E 31 00       MOVS            R1, R6</span></code><code><span class="code-snippet_outer">.text:B65E2070 2A 00       MOVS            R2, R5</span></code><code><span class="code-snippet_outer">.text:B65E2072 0E F0 6B FB BL              ReadFile_unzip_sub_C6BAE74C ; 读取并解压</span></code><code><span class="code-snippet_outer">.text:B65E2076 00 28       CMP             R0, #0</span></code><code><span class="code-snippet_outer">.text:B65E2078 03 D0       BEQ             loc_B65E2082</span></code><code><span class="code-snippet_outer">.text:B65E207A 03 98       LDR             R0, [SP,#0x48+byte_count]</span></code><code><span class="code-snippet_outer">.text:B65E207C 02 99       LDR             R1, [SP,#0x48+var_40]</span></code><code><span class="code-snippet_outer">.text:B65E207E 08 60       STR             R0, [R1]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">读取的数据与APk包中的内容是一样的。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">B3C7B000  30 82 03 F5 06 09 2A 86  48 86 F7 0D 01 07 02 A0  0.......H.......</span></code><code><span class="code-snippet_outer">B3C7B010  82 03 E6 30 82 03 E2 02  01 01 31 0F 30 0D 06 09  ..........1.0...</span></code><code><span class="code-snippet_outer">B3C7B020  60 86 48 01 65 03 04 02  01 05 00 30 0B 06 09 2A  `.H.e......0...*</span></code><code><span class="code-snippet_outer">B3C7B030  86 48 86 F7 0D 01 07 01  A0 82 02 83 30 82 02 7F  .H..........0...</span></code><code><span class="code-snippet_outer">B3C7B040  30 82 01 E8 A0 03 02 01  02 02 04 4D 69 1B B8 30  0..........Mi..0</span></code><code><span class="code-snippet_outer">B3C7B050  0D 06 09 2A 86 48 86 F7  0D 01 01 05 05 00 30 81  ...*.H........0.</span></code><code><span class="code-snippet_outer">B3C7B060  82 31 0B 30 09 06 03 55  04 06 13 02 43 4E 31 10  .1.0...U....CN1.</span></code><code><span class="code-snippet_outer">B3C7B070  30 0E 06 03 55 04 08 13  07 42 65 69 6A 69 6E 67  0...U....Beijing</span></code><code><span class="code-snippet_outer">B3C7B080  31 10 30 0E 06 03 55 04  07 13 07 42 65 69 6A 69  1.0...U....Beiji</span></code><code><span class="code-snippet_outer">B3C7B090  6E 67 31 24 30 22 06 03  55 04 0A 13 1B 53 61 6E  ng1$0&#34;..U....San</span></code><code><span class="code-snippet_outer">B3C7B0A0  6B 75 61 69 20 54 65 63  68 6E 6F 6C 6F 67 79 20  kuai Technology </span></code><code><span class="code-snippet_outer">B3C7B0B0  43 6F 2E 20 4C 74 64 2E  31 14 30 12 06 03 55 04  Co. Ltd.1.0...U.</span></code><code><span class="code-snippet_outer">B3C7B0C0  0B 13 0B 6D 65 69 74 75  61 6E 2E 63 6F 6D 31 13  ...meituan.com1.</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">检测是否为RSA文件：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:B65EFCBC             isRSA_sub_CB471CBC </span></code><code><span class="code-snippet_outer">.text:B65EFCBC             ; __unwind { // FDA46000</span></code><code><span class="code-snippet_outer">.text:B65EFCBC D0 B5       PUSH            {R4,R6,R7,LR}</span></code><code><span class="code-snippet_outer">.text:B65EFCBE 02 AF       ADD             R7, SP, #8</span></code><code><span class="code-snippet_outer">.text:B65EFCC0 01 00       MOVS            R1, R0</span></code><code><span class="code-snippet_outer">.text:B65EFCC2 00 20       MOVS            R0, #0</span></code><code><span class="code-snippet_outer">.text:B65EFCC4 00 29       CMP             R1, #0</span></code><code><span class="code-snippet_outer">.text:B65EFCC6 1B D0       BEQ             locret_B65EFD00</span></code><code><span class="code-snippet_outer">.text:B65EFCC8 0A 78       LDRB            R2, [R1]</span></code><code><span class="code-snippet_outer">.text:B65EFCCA 30 2A       CMP             R2, #0x30 ; &#39;0&#39;</span></code><code><span class="code-snippet_outer">.text:B65EFCCC 18 D1       BNE             locret_B65EFD00</span></code><code><span class="code-snippet_outer">.text:B65EFCCE 01 22       MOVS            R2, #1</span></code><code><span class="code-snippet_outer">.text:B65EFCD0 8C 56       LDRSB           R4, [R1,R2]</span></code><code><span class="code-snippet_outer">.text:B65EFCD2 7F 22       MOVS            R2, #0x7F</span></code><code><span class="code-snippet_outer">.text:B65EFCD4 22 40       ANDS            R2, R4</span></code><code><span class="code-snippet_outer">.text:B65EFCD6 FF 23       MOVS            R3, #0xFF</span></code><code><span class="code-snippet_outer">.text:B65EFCD8 23 40       ANDS            R3, R4</span></code><code><span class="code-snippet_outer">.text:B65EFCDA 00 2C       CMP             R4, #0</span></code><code><span class="code-snippet_outer">.text:B65EFCDC 00 DB       BLT             loc_B65EFCE0</span></code><code><span class="code-snippet_outer">.text:B65EFCDE 1A 00       MOVS            R2, R3</span></code><code><span class="code-snippet_outer">.text:B65EFCE0</span></code><code><span class="code-snippet_outer">.text:B65EFCE0             loc_B65EFCE0                     </span></code><code><span class="code-snippet_outer">.text:B65EFCE0 04 2A       CMP             R2, #4</span></code><code><span class="code-snippet_outer">.text:B65EFCE2 0D D8       BHI             locret_B65EFD00</span></code><code><span class="code-snippet_outer">.text:B65EFCE4 00 2A       CMP             R2, #0</span></code><code><span class="code-snippet_outer">.text:B65EFCE6 0B D0       BEQ             locret_B65EFD00</span></code><code><span class="code-snippet_outer">.text:B65EFCE8 02 31       ADDS            R1, #2</span></code><code><span class="code-snippet_outer">.text:B65EFCEA D3 00       LSLS            R3, R2, #3</span></code><code><span class="code-snippet_outer">.text:B65EFCEC 08 3B       SUBS            R3, #8</span></code><code><span class="code-snippet_outer">.text:B65EFCEE 00 20       MOVS            R0, #0</span></code><code><span class="code-snippet_outer">.text:B65EFCF0</span></code><code><span class="code-snippet_outer">.text:B65EFCF0             loc_B65EFCF0   </span></code><code><span class="code-snippet_outer">.text:B65EFCF0 0C 78       LDRB            R4, [R1]</span></code><code><span class="code-snippet_outer">.text:B65EFCF2 9C 40       LSLS            R4, R3</span></code><code><span class="code-snippet_outer">.text:B65EFCF4 20 43       ORRS            R0, R4</span></code><code><span class="code-snippet_outer">.text:B65EFCF6 01 3A       SUBS            R2, #1</span></code><code><span class="code-snippet_outer">.text:B65EFCF8 08 3B       SUBS            R3, #8</span></code><code><span class="code-snippet_outer">.text:B65EFCFA 01 31       ADDS            R1, #1</span></code><code><span class="code-snippet_outer">.text:B65EFCFC 00 2A       CMP             R2, #0</span></code><code><span class="code-snippet_outer">.text:B65EFCFE F7 D1       BNE             loc_B65EFCF0</span></code><code><span class="code-snippet_outer">.text:B65EFD00</span></code><code><span class="code-snippet_outer">.text:B65EFD00             locret_B65EFD00   </span></code><code><span class="code-snippet_outer">.text:B65EFD00 D0 BD       POP             {R4,R6,R7,PC}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算MD5值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">int __fastcall md5_sub_C6FEF398(int a1, int a2, int a3)</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  int i; // r0</span></code><code><span class="code-snippet_outer">  int v8[26]; // [sp+10h] [bp-68h] BYREF</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  memset_sub_C6BB64C0(v8, 0, 88);</span></code><code><span class="code-snippet_outer">  v8[0] = 0;</span></code><code><span class="code-snippet_outer">  v8[1] = 0;</span></code><code><span class="code-snippet_outer">  v8[2] = 1732584193;</span></code><code><span class="code-snippet_outer">  v8[3] = -271733879;</span></code><code><span class="code-snippet_outer">  v8[4] = -1732584194;</span></code><code><span class="code-snippet_outer">  v8[5] = 271733878;</span></code><code><span class="code-snippet_outer">  sub_B65F11F4(v8, a1, a2);</span></code><code><span class="code-snippet_outer">  sub_B65F1294(v8, a3);</span></code><code><span class="code-snippet_outer">  for ( i = 0; i != 88; ++i )</span></code><code><span class="code-snippet_outer">    *((_BYTE *)v8 + i) = 0;</span></code><code><span class="code-snippet_outer">  return _stack_chk_guard - v8[22];</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算后的值为：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">638C81261479C2104EDE3F2518E91725</span></code></pre></section><p data-source-line="334" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">该值会作为解密资源密钥的一部分。<br style="box-sizing: border-box;"/></span></p><h5 data-source-line="335" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.3.2、解密assets/ms_com.sankuai.meituan</span></h5><h6 data-source-line="336" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;">组合密钥：</span></h6><p data-source-line="337" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">包名+常量字符(WU@TEN)+META-INF/SANKUAI.RSA(md5)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">com.sankuai.meituanWU@TEN638C81261479C2104EDE3F2518E91725</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">将组合后的字符串加密Sha1值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:C1D52AA4 F0 B5       PUSH            {R4-R7,LR}</span></code><code><span class="code-snippet_outer">.text:C1D52AA6 03 AF       ADD             R7, SP, #0xC</span></code><code><span class="code-snippet_outer">.text:C1D52AA8 8F B0       SUB             SP, SP, #0x3C</span></code><code><span class="code-snippet_outer">.text:C1D52AAA 15 00       MOVS            R5, R2</span></code><code><span class="code-snippet_outer">.text:C1D52AAC 0E 00       MOVS            R6, R1</span></code><code><span class="code-snippet_outer">.text:C1D52AAE 02 90       STR             R0, [SP,#0x48+var_40]</span></code><code><span class="code-snippet_outer">.text:C1D52AB0 1A 48       LDR             R0, =(__stack_chk_guard_ptr - 0xC1D52AB6)</span></code><code><span class="code-snippet_outer">.text:C1D52AB2 78 44       ADD             R0, PC                  ; __stack_chk_guard_ptr</span></code><code><span class="code-snippet_outer">.text:C1D52AB4 04 68       LDR             R4, [R0]                ; __stack_chk_guard</span></code><code><span class="code-snippet_outer">.text:C1D52AB6 20 68       LDR             R0, [R4]</span></code><code><span class="code-snippet_outer">.text:C1D52AB8 0E 90       STR             R0, [SP,#0x48+var_10]</span></code><code><span class="code-snippet_outer">.text:C1D52ABA 00 2E       CMP             R6, #0</span></code><code><span class="code-snippet_outer">.text:C1D52ABC 1F D0       BEQ             loc_C1D52AFE</span></code><code><span class="code-snippet_outer">.text:C1D52ABE 00 2D       CMP             R5, #0</span></code><code><span class="code-snippet_outer">.text:C1D52AC0 1D D0       BEQ             loc_C1D52AFE</span></code><code><span class="code-snippet_outer">.text:C1D52AC2 01 94       STR             R4, [SP,#0x48+var_44]</span></code><code><span class="code-snippet_outer">.text:C1D52AC4 05 AC       ADD             R4, SP, #0x48+var_34</span></code><code><span class="code-snippet_outer">.text:C1D52AC6 21 21       MOVS            R1, #0x21 ; &#39;!&#39;</span></code><code><span class="code-snippet_outer">.text:C1D52AC8 20 00       MOVS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C1D52ACA F2 F7 26 E9 BLX             __aeabi_memclr4</span></code><code><span class="code-snippet_outer">.text:C1D52ACE 30 00       MOVS            R0, R6</span></code><code><span class="code-snippet_outer">.text:C1D52AD0 29 00       MOVS            R1, R5</span></code><code><span class="code-snippet_outer">.text:C1D52AD2 22 00       MOVS            R2, R4</span></code><code><span class="code-snippet_outer">.text:C1D52AD4 12 F0 8E FB BL              JMP_Sha1_256_sub_C6BB01F4 ; R0:原始值，R1：大小,R2:返回值</span></code><code><span class="code-snippet_outer">.text:C1D52AD8 03 A8       ADD             R0, SP, #0x48+var_3C</span></code><code><span class="code-snippet_outer">.text:C1D52ADA 20 22       MOVS            R2, #0x20 ; &#39; &#39;</span></code><code><span class="code-snippet_outer">.text:C1D52ADC 21 00       MOVS            R1, R4</span></code><code><span class="code-snippet_outer">.text:C1D52ADE 01 9C       LDR             R4, [SP,#0x48+var_44]</span></code><code><span class="code-snippet_outer">.text:C1D52AE0 FF F7 72 FF BL              Hex2String_sub_C6B9D9C8 ; R1:返回值，R2：大小</span></code><code><span class="code-snippet_outer">.text:C1D52AE4 03 98       LDR             R0, [SP,#0x48+var_3C]</span></code><code><span class="code-snippet_outer">.text:C1D52AE6 02 99       LDR             R1, [SP,#0x48+var_40]</span></code><code><span class="code-snippet_outer">.text:C1D52AE8 08 60       STR             R0, [R1]</span></code><code><span class="code-snippet_outer">.text:C1D52AEA 0D 48       LDR             R0, =(off_C1DD8C48 - 0xC1D52AF0)</span></code><code><span class="code-snippet_outer">.text:C1D52AEC 78 44       ADD             R0, PC                  ; off_C1DD8C48</span></code><code><span class="code-snippet_outer">.text:C1D52AEE 00 68       LDR             R0, [R0]                ; dword_C1DEAADC</span></code><code><span class="code-snippet_outer">.text:C1D52AF0 01 00       MOVS            R1, R0</span></code><code><span class="code-snippet_outer">.text:C1D52AF2 0C 31       ADDS            R1, #0xC</span></code><code><span class="code-snippet_outer">.text:C1D52AF4 03 91       STR             R1, [SP,#0x48+var_3C]</span></code><code><span class="code-snippet_outer">.text:C1D52AF6 04 A9       ADD             R1, SP, #0x48+var_38</span></code><code><span class="code-snippet_outer">.text:C1D52AF8 6B F0 26 FE BL              free_sub_B2943748</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">加密后的值为：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer">//该值为解密assets/ms_com.sankuai.meituan的密钥</span></code><code><span class="code-snippet_outer">69fe5963f3b95d9718c8d3e4f924ad9379500e9b51d80686e65347890e1748fe</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">读取资源文件assets/ms_com.sankuai.meituan</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">int __fastcall ReadFile_unzip_sub_C6BAE74C(int *a1, int a2, int a3)</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  int v5; // r0</span></code><code><span class="code-snippet_outer">  int v6; // r5</span></code><code><span class="code-snippet_outer">  int v7; // r0</span></code><code><span class="code-snippet_outer">  int v8; // r6</span></code><code><span class="code-snippet_outer">  int v9; // r5</span></code><code><span class="code-snippet_outer">  int v10; // r0</span></code><code><span class="code-snippet_outer">  __int64 v13; // [sp+24h] [bp-28h] BYREF</span></code><code><span class="code-snippet_outer">  unsigned int v14; // [sp+30h] [bp-1Ch] BYREF</span></code><code><span class="code-snippet_outer">  int v15; // [sp+34h] [bp-18h] BYREF</span></code><code><span class="code-snippet_outer">  int v16; // [sp+38h] [bp-14h] BYREF</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  v5 = a2 - 10000;</span></code><code><span class="code-snippet_outer">  v6 = 0;</span></code><code><span class="code-snippet_outer">  if ( a2 &gt;= 10000 &amp;&amp; v5 &lt; a1[8] )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( *(_DWORD *)(a1[9] + 8 * v5) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v6 = 0;</span></code><code><span class="code-snippet_outer">      if ( read_sub_C6BAE448(a1, a2, &amp;v16, &amp;v15, (int *)&amp;v14, &amp;v13, 0, 0) )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v7 = mapfile_sub_C6BAE6C0(a1, a2);</span></code><code><span class="code-snippet_outer">        v8 = v7;</span></code><code><span class="code-snippet_outer">        if ( v7 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v9 = *(_DWORD *)(v7 + 24);</span></code><code><span class="code-snippet_outer">          if ( v14 &gt; 0x8000 )</span></code><code><span class="code-snippet_outer">            sub_C1D62E3C(v7, 2);</span></code><code><span class="code-snippet_outer">          if ( v16 )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v10 = unzip_sub_C6BAE820(a3, v9, v15, v14);</span></code><code><span class="code-snippet_outer">            v6 = 0;</span></code><code><span class="code-snippet_outer">            if ( !v10 )</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">LABEL_15:</span></code><code><span class="code-snippet_outer">              free_sub_CA79DF8C(v8);</span></code><code><span class="code-snippet_outer">              return v6;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          else</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            getvalu_sub_C87B550A(a3, v9, v15);</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          if ( v14 &gt; 0x8000 )</span></code><code><span class="code-snippet_outer">            sub_C1D62E3C(v8, 0);</span></code><code><span class="code-snippet_outer">          v6 = 1;</span></code><code><span class="code-snippet_outer">          goto LABEL_15;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  return v6;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">读取后内容(部分)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">BCF4A000  89 50 4E 47 0D 0A 1A 0A  00 00 00 0D 49 48 44 52  .PNG........IHDR</span></code><code><span class="code-snippet_outer">BCF4A010  00 00 00 3C 00 00 00 3C  08 06 00 00 00 3A FC D9  ...&lt;...&lt;.....:..</span></code><code><span class="code-snippet_outer">BCF4A020  72 00 00 13 56 49 44 41  54 78 DA ED 5A 79 70 55  r...VIDATx..ZypU</span></code><code><span class="code-snippet_outer">BCF4A030  D7 79 BF 42 AC C6 80 09  5E 00 DB 98 5D E0 64 92  ...B.ƀ .^...]...</span></code><code><span class="code-snippet_outer">BCF4A040  4E 92 76 6C 37 EE 4C 26  4D 5D A7 6E DA 74 49 26  N.vl7...M].n..I&amp;</span></code><code><span class="code-snippet_outer">BCF4A050  53 B7 C9 8C FF 68 DC 75  9C DA 1D D7 F5 C4 4E 13  S.Ɍ .h..........</span></code><code><span class="code-snippet_outer">BCF4A060  63 D7 98 C5 80 36 90 90  D0 CA 62 83 84 D9 F4 F4  cט ŀ 6....b.....</span></code><code><span class="code-snippet_outer">BCF4A070  16 BD 4D CB D3 BE 20 24  10 9B 10 12 9B 04 48 08  ..M... $......H.</span></code><code><span class="code-snippet_outer">BCF4A080  B4 DE 5F 7F E7 DC E5 9D  FB 24 40 24 B6 EB E9 F4  .........$@$....</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解析解密图片得到PIC数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">int __fastcall ParsePng_sub_CB4C8858(</span></code><code><span class="code-snippet_outer">        int *a1,</span></code><code><span class="code-snippet_outer">        unsigned int *a2,</span></code><code><span class="code-snippet_outer">        unsigned int *a3,</span></code><code><span class="code-snippet_outer">        _DWORD *a4,</span></code><code><span class="code-snippet_outer">        unsigned int data,</span></code><code><span class="code-snippet_outer">        unsigned int a6)</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  int *v54; // r4</span></code><code><span class="code-snippet_outer">  void *v55; // r0</span></code><code><span class="code-snippet_outer">  int (__fastcall *v56)(void **, int *, unsigned __int8 *, unsigned int, _DWORD *); </span></code><code><span class="code-snippet_outer">  v7 = 0;</span></code><code><span class="code-snippet_outer">  *a1 = 0;</span></code><code><span class="code-snippet_outer">  *a3 = 0;</span></code><code><span class="code-snippet_outer">  *a2 = 0;</span></code><code><span class="code-snippet_outer">  result = CRC32_sub_CB4C7D08((int *)a2, (int *)a3, a4, (unsigned __int8 *)data, a6);</span></code><code><span class="code-snippet_outer">  a4[92] = result;</span></code><code><span class="code-snippet_outer">  if ( result )</span></code><code><span class="code-snippet_outer">    return result;</span></code><code><span class="code-snippet_outer">  v110 = a4 + 92;</span></code><code><span class="code-snippet_outer">  v9 = a4[39];</span></code><code><span class="code-snippet_outer">  v10 = a4[38];</span></code><code><span class="code-snippet_outer">  v135 = a4 + 39;</span></code><code><span class="code-snippet_outer">  v104 = a4 + 38;</span></code><code><span class="code-snippet_outer">  v108 = a4;</span></code><code><span class="code-snippet_outer">  v131 = a4 + 35;</span></code><code><span class="code-snippet_outer">  v148 = (void *)*a3;</span></code><code><span class="code-snippet_outer">  v11 = *a2;</span></code><code><span class="code-snippet_outer">  v12 = 0;</span></code><code><span class="code-snippet_outer">  if ( v10 &lt;= 6 )</span></code><code><span class="code-snippet_outer">    v12 = dword_C1DD1C40[v10];</span></code><code><span class="code-snippet_outer">  v13 = v12 * v9;</span></code><code><span class="code-snippet_outer">  v14 = v108[27];</span></code><code><span class="code-snippet_outer">  v15 = v108[28];</span></code><code><span class="code-snippet_outer">  if ( v14 &lt;= 6 )</span></code><code><span class="code-snippet_outer">    v7 = dword_C1DD1C40[v14];</span></code><code><span class="code-snippet_outer">  if ( v13 &lt;= v7 * v15 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v18 = 0;</span></code><code><span class="code-snippet_outer">    v17 = *a3;</span></code><code><span class="code-snippet_outer">    if ( v14 &lt;= 6 )</span></code><code><span class="code-snippet_outer">      v18 = dword_C1DD1C40[v14];</span></code><code><span class="code-snippet_outer">    v143 = v15 * v18;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  else</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v16 = 0;</span></code><code><span class="code-snippet_outer">    v17 = *a3;</span></code><code><span class="code-snippet_outer">    if ( v10 &lt;= 6 )</span></code><code><span class="code-snippet_outer">      v16 = dword_C1DD1C40[v10];</span></code><code><span class="code-snippet_outer">    v143 = v9 * v16;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v19 = v11 * v17;</span></code><code><span class="code-snippet_outer">  v20 = 0;</span></code><code><span class="code-snippet_outer">  if ( v11 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v21 = to1028_sub_CA812FD0(v11 * v17, v11);</span></code><code><span class="code-snippet_outer">    v20 = 0;</span></code><code><span class="code-snippet_outer">    v17 = (unsigned int)v148;</span></code><code><span class="code-snippet_outer">    if ( (void *)v21 != v148 )</span></code><code><span class="code-snippet_outer">      goto LABEL_125;</span></code><code><span class="code-snippet_outer">    if ( v19 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v22 = to1028_sub_CA812FD0(8 * v19, v19);</span></code><code><span class="code-snippet_outer">      v20 = 0;</span></code><code><span class="code-snippet_outer">      v17 = (unsigned int)v148;</span></code><code><span class="code-snippet_outer">      if ( v22 != 8 )</span></code><code><span class="code-snippet_outer">        goto LABEL_125;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( v11 &gt;&gt; 3 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v23 = to1028_sub_CA812FD0((v11 &gt;&gt; 3) * v143, v11 &gt;&gt; 3);</span></code><code><span class="code-snippet_outer">      v17 = (unsigned int)v148;</span></code><code><span class="code-snippet_outer">      v20 = (v11 &gt;&gt; 3) * v143;</span></code><code><span class="code-snippet_outer">      if ( v23 != v143 )</span></code><code><span class="code-snippet_outer">        goto LABEL_125;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v24 = v20 + (((v11 &amp; 7) * v143 + 7) &gt;&gt; 3);</span></code><code><span class="code-snippet_outer">  if ( v24 &lt; v20 || v24 &gt; 0xFFFFFFFA || to1028_sub_CA812FD0(v17 * (v24 + 5), v24 + 5) != v17 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">LABEL_125:</span></code><code><span class="code-snippet_outer">    result = 92;</span></code><code><span class="code-snippet_outer">    *v110 = 92;</span></code><code><span class="code-snippet_outer">    return result;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v25 = v108;</span></code><code><span class="code-snippet_outer">  v111 = v108 + 1;</span></code><code><span class="code-snippet_outer">  v26 = (unsigned __int8 *)(data + 33);</span></code><code><span class="code-snippet_outer">  pdata = 0;</span></code><code><span class="code-snippet_outer">  v129 = 0;</span></code><code><span class="code-snippet_outer">  v119 = 0;</span></code><code><span class="code-snippet_outer">  v116 = 1;</span></code><code><span class="code-snippet_outer">  while ( 1 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v27 = (unsigned int)&amp;v26[-data + 12];</span></code><code><span class="code-snippet_outer">    if ( (unsigned int)v26 &lt; data || v27 &gt; a6 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v25[7] )</span></code><code><span class="code-snippet_outer">        goto LABEL_136;</span></code><code><span class="code-snippet_outer">      v44 = 30;</span></code><code><span class="code-snippet_outer">      goto LABEL_132;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v144 = v26;</span></code><code><span class="code-snippet_outer">    v28 = v26;</span></code><code><span class="code-snippet_outer">    v29 = _byteswap_ulong(*(_DWORD *)v26);</span></code><code><span class="code-snippet_outer">    v30 = v110;</span></code><code><span class="code-snippet_outer">    if ( v29 &lt; 0 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v25 = v108;</span></code><code><span class="code-snippet_outer">      if ( v108[7] )</span></code><code><span class="code-snippet_outer">        goto LABEL_136;</span></code><code><span class="code-snippet_outer">      v44 = 63;</span></code><code><span class="code-snippet_outer">      goto LABEL_133;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( v29 + v27 &gt; a6 || (unsigned int)&amp;v26[v29 + 12] &lt; data )</span></code><code><span class="code-snippet_outer">      break;</span></code><code><span class="code-snippet_outer">    v31 = v26 + 8;</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAB4 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE8374, aXpvn, 17, 4);</span></code><code><span class="code-snippet_outer">      v28 = v144;</span></code><code><span class="code-snippet_outer">      byte_C1DE8378 = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAB4 = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v28, byte_C1DE8374) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v32 = v29 + v129;</span></code><code><span class="code-snippet_outer">      if ( v29 + v129 &lt; v29 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v43 = 95;</span></code><code><span class="code-snippet_outer">        goto LABEL_134;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v122 = v29 + v129;</span></code><code><span class="code-snippet_outer">      if ( v119 &gt;= v32 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v34 = (int)pdata;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v33 = v29 + v129;</span></code><code><span class="code-snippet_outer">        if ( v32 &lt;= 2 * v119 )</span></code><code><span class="code-snippet_outer">          v33 = (3 * v32) &gt;&gt; 1;</span></code><code><span class="code-snippet_outer">        v119 = v33;</span></code><code><span class="code-snippet_outer">        v34 = realloc(pdata);</span></code><code><span class="code-snippet_outer">        if ( !v34 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v43 = 83;</span></code><code><span class="code-snippet_outer">          goto LABEL_134;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v35 = 0;</span></code><code><span class="code-snippet_outer">      v116 = 3;</span></code><code><span class="code-snippet_outer">      if ( v29 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v37 = v129;</span></code><code><span class="code-snippet_outer">        do</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          *(_BYTE *)(v34 + v37) = *v31++;</span></code><code><span class="code-snippet_outer">          --v29;</span></code><code><span class="code-snippet_outer">          ++v37;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        while ( v29 );</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v129 = v122;</span></code><code><span class="code-snippet_outer">      pdata = (unsigned __int8 *)v34;</span></code><code><span class="code-snippet_outer">      goto LABEL_50;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAB5 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE8379, aPv, 18, 4);</span></code><code><span class="code-snippet_outer">      byte_C1DE837D = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v35 = 1;</span></code><code><span class="code-snippet_outer">    byte_C1DEAAB5 = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE8379) )</span></code><code><span class="code-snippet_outer">      goto LABEL_50;</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAA8 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE8338, aSjI, 3, 4);</span></code><code><span class="code-snippet_outer">      unk_C1DE833C = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAA8 = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE8338) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v36 = dec_sub_CA801FF0(v104, v31, v29);</span></code><code><span class="code-snippet_outer">      *v110 = v36;</span></code><code><span class="code-snippet_outer">      v35 = 0;</span></code><code><span class="code-snippet_outer">      v116 = 2;</span></code><code><span class="code-snippet_outer">LABEL_67:</span></code><code><span class="code-snippet_outer">      v25 = v108;</span></code><code><span class="code-snippet_outer">      v38 = (unsigned int *)v144;</span></code><code><span class="code-snippet_outer">      if ( v36 )</span></code><code><span class="code-snippet_outer">        goto LABEL_136;</span></code><code><span class="code-snippet_outer">LABEL_51:</span></code><code><span class="code-snippet_outer">      if ( !v25[5] )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v39 = gencrc_sub_CA800C08(v38);</span></code><code><span class="code-snippet_outer">        v38 = (unsigned int *)v144;</span></code><code><span class="code-snippet_outer">        if ( v39 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v44 = 57;</span></code><code><span class="code-snippet_outer">LABEL_132:</span></code><code><span class="code-snippet_outer">          v30 = v110;</span></code><code><span class="code-snippet_outer">LABEL_133:</span></code><code><span class="code-snippet_outer">          *v30 = v44;</span></code><code><span class="code-snippet_outer">          goto LABEL_136;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      if ( v35 )</span></code><code><span class="code-snippet_outer">        goto LABEL_136;</span></code><code><span class="code-snippet_outer">LABEL_55:</span></code><code><span class="code-snippet_outer">      v40 = *v110;</span></code><code><span class="code-snippet_outer">      goto LABEL_56;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAA9 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE833D, aPud, 4, 4);</span></code><code><span class="code-snippet_outer">      byte_C1DE8341 = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAA9 = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE833D) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v36 = sub_C1DB9080(v104, v31, v29);</span></code><code><span class="code-snippet_outer">LABEL_66:</span></code><code><span class="code-snippet_outer">      *v110 = v36;</span></code><code><span class="code-snippet_outer">      v35 = 0;</span></code><code><span class="code-snippet_outer">      goto LABEL_67;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAAA )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE8342, aGclj, 5, 4);</span></code><code><span class="code-snippet_outer">      byte_C1DE8346 = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAAA = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE8342) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v36 = sub_C1DB9100(v131, v31, v29);</span></code><code><span class="code-snippet_outer">      goto LABEL_66;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAAB )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE8347, aRlt, 6, 4);</span></code><code><span class="code-snippet_outer">      byte_C1DE834B = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAAB = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE8347) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v35 = 0;</span></code><code><span class="code-snippet_outer">      if ( v108[9] )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v36 = sub_C1DB917C((int)v131, v31, v29);</span></code><code><span class="code-snippet_outer">LABEL_79:</span></code><code><span class="code-snippet_outer">        *v110 = v36;</span></code><code><span class="code-snippet_outer">        goto LABEL_67;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      goto LABEL_50;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAAC )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE834C, aUd, 7, 4);</span></code><code><span class="code-snippet_outer">      byte_C1DE8350 = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAAC = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE834C) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v35 = 0;</span></code><code><span class="code-snippet_outer">      if ( v108[9] )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v36 = sub_C1DB923C(v131, v111, v31, v29);</span></code><code><span class="code-snippet_outer">        goto LABEL_79;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">LABEL_50:</span></code><code><span class="code-snippet_outer">      v25 = v108;</span></code><code><span class="code-snippet_outer">      v38 = (unsigned int *)v144;</span></code><code><span class="code-snippet_outer">      goto LABEL_51;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAAD )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE8351, aAVe, 8, 4);</span></code><code><span class="code-snippet_outer">      byte_C1DE8355 = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAAD = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE8351) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v108[9] )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v41 = sub_C1DB936C(v131, v111, v31, v29);</span></code><code><span class="code-snippet_outer">        *v110 = v41;</span></code><code><span class="code-snippet_outer">        v25 = v108;</span></code><code><span class="code-snippet_outer">        v38 = (unsigned int *)v144;</span></code><code><span class="code-snippet_outer">        v35 = 0;</span></code><code><span class="code-snippet_outer">        if ( v41 )</span></code><code><span class="code-snippet_outer">          goto LABEL_136;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v25 = v108;</span></code><code><span class="code-snippet_outer">        v38 = (unsigned int *)v144;</span></code><code><span class="code-snippet_outer">        v35 = 0;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      goto LABEL_51;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAAE )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE8356, aEbw, 9, 4);</span></code><code><span class="code-snippet_outer">      unk_C1DE835A = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAAE = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE8356) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v29 != 7 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v43 = 73;</span></code><code><span class="code-snippet_outer">LABEL_134:</span></code><code><span class="code-snippet_outer">        v30 = v110;</span></code><code><span class="code-snippet_outer">        goto LABEL_135;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v108[58] = 1;</span></code><code><span class="code-snippet_outer">      v38 = (unsigned int *)v144;</span></code><code><span class="code-snippet_outer">      v108[59] = (v144[8] &lt;&lt; 8) | v144[9];</span></code><code><span class="code-snippet_outer">      v108[60] = v144[10];</span></code><code><span class="code-snippet_outer">      v108[61] = v144[11];</span></code><code><span class="code-snippet_outer">      v108[62] = v144[12];</span></code><code><span class="code-snippet_outer">      v108[63] = v144[13];</span></code><code><span class="code-snippet_outer">      v108[64] = v144[14];</span></code><code><span class="code-snippet_outer">LABEL_92:</span></code><code><span class="code-snippet_outer">      v35 = 0;</span></code><code><span class="code-snippet_outer">      *v110 = 0;</span></code><code><span class="code-snippet_outer">      v25 = v108;</span></code><code><span class="code-snippet_outer">      goto LABEL_51;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAAF )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE835B, aZei, 10, 4);</span></code><code><span class="code-snippet_outer">      unk_C1DE835F = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAAF = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE835B) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v36 = sub_C1DB95FC(v131, (int)v31, v29);</span></code><code><span class="code-snippet_outer">      goto LABEL_66;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAB0 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE8360, aLoU, 11, 4);</span></code><code><span class="code-snippet_outer">      unk_C1DE8364 = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAB0 = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE8360) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v29 != 4 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v43 = 96;</span></code><code><span class="code-snippet_outer">        goto LABEL_134;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v108[69] = 1;</span></code><code><span class="code-snippet_outer">      v38 = (unsigned int *)v144;</span></code><code><span class="code-snippet_outer">      v108[70] = _byteswap_ulong(*((_DWORD *)v144 + 2));</span></code><code><span class="code-snippet_outer">      goto LABEL_92;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAB1 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE8365, aOgX, 12, 4);</span></code><code><span class="code-snippet_outer">      unk_C1DE8369 = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAB1 = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE8365) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v36 = sub_C1DB9640(v131, (unsigned int *)v31, v29);</span></code><code><span class="code-snippet_outer">      goto LABEL_66;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAB2 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE836A, aBtt, 13, 4);</span></code><code><span class="code-snippet_outer">      unk_C1DE836E = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAB2 = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE836A) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v29 != 1 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v43 = 98;</span></code><code><span class="code-snippet_outer">        goto LABEL_134;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v108[80] = 1;</span></code><code><span class="code-snippet_outer">      v108[81] = *v31;</span></code><code><span class="code-snippet_outer">      v35 = 0;</span></code><code><span class="code-snippet_outer">      *v110 = 0;</span></code><code><span class="code-snippet_outer">      goto LABEL_50;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !byte_C1DEAAB3 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      DecString((const char *)byte_C1DE836F, aGrwg, 14, 4);</span></code><code><span class="code-snippet_outer">      unk_C1DE8373 = 0;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    byte_C1DEAAB3 = 1;</span></code><code><span class="code-snippet_outer">    if ( getIHDR_sub_CCBFBBC8(v144, byte_C1DE836F) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v36 = sub_C1DB9714(v131, v111, v31, v29);</span></code><code><span class="code-snippet_outer">      goto LABEL_66;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !v108[6] &amp;&amp; (v144[4] &amp; 0x20) == 0 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v43 = 69;</span></code><code><span class="code-snippet_outer">      goto LABEL_134;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    if ( !v108[10] )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v25 = v108;</span></code><code><span class="code-snippet_outer">      v38 = (unsigned int *)v144;</span></code><code><span class="code-snippet_outer">      goto LABEL_55;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v25 = v108;</span></code><code><span class="code-snippet_outer">    v42 = sub_C1DB7CCE(&amp;v108[v116 + 85], &amp;v108[v116 + 88], (unsigned int *)v144);</span></code><code><span class="code-snippet_outer">    v38 = (unsigned int *)v144;</span></code><code><span class="code-snippet_outer">    *v110 = v42;</span></code><code><span class="code-snippet_outer">    v40 = 0;</span></code><code><span class="code-snippet_outer">    if ( v42 )</span></code><code><span class="code-snippet_outer">      goto LABEL_136;</span></code><code><span class="code-snippet_outer">LABEL_56:</span></code><code><span class="code-snippet_outer">    v26 = isPng_sub_CA800C80((unsigned __int8 *)v38);</span></code><code><span class="code-snippet_outer">    if ( v40 )</span></code><code><span class="code-snippet_outer">      goto LABEL_136;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v43 = 64;</span></code><code><span class="code-snippet_outer">LABEL_135:</span></code><code><span class="code-snippet_outer">  *v30 = v43;</span></code><code><span class="code-snippet_outer">  v25 = v108;</span></code><code><span class="code-snippet_outer">LABEL_136:</span></code><code><span class="code-snippet_outer">  v154 = 0;</span></code><code><span class="code-snippet_outer">  v152 = 0;</span></code><code><span class="code-snippet_outer">  v153 = 0;</span></code><code><span class="code-snippet_outer">  v45 = v25[37];</span></code><code><span class="code-snippet_outer">  v123 = v25 + 37;</span></code><code><span class="code-snippet_outer">  v46 = *a2;</span></code><code><span class="code-snippet_outer">  if ( v45 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v145 = *a3;</span></code><code><span class="code-snippet_outer">    v47 = (*a3 + 7) &gt;&gt; 3;</span></code><code><span class="code-snippet_outer">    v140 = sub_C1DBAC4C((v46 + 7) &gt;&gt; 3, v47, (unsigned int *)v104);</span></code><code><span class="code-snippet_outer">    v48 = v46 + 3;</span></code><code><span class="code-snippet_outer">    if ( v46 &gt;= 5 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v49 = sub_C1DBAC4C(v48 &gt;&gt; 3, v47, (unsigned int *)v104) + v140;</span></code><code><span class="code-snippet_outer">      v48 = v46 + 3;</span></code><code><span class="code-snippet_outer">      v140 = v49;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v50 = sub_C1DBAC4C(v48 &gt;&gt; 2, (v145 + 3) &gt;&gt; 3, (unsigned int *)v104) + v140;</span></code><code><span class="code-snippet_outer">    v51 = v46 + 1;</span></code><code><span class="code-snippet_outer">    if ( v46 &gt;= 3 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v50 += sub_C1DBAC4C(v51 &gt;&gt; 2, (v145 + 3) &gt;&gt; 2, (unsigned int *)v104);</span></code><code><span class="code-snippet_outer">      v51 = v46 + 1;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v52 = sub_C1DBAC4C(v51 &gt;&gt; 1, (v145 + 1) &gt;&gt; 2, (unsigned int *)v104) + v50;</span></code><code><span class="code-snippet_outer">    if ( v46 &gt;= 2 )</span></code><code><span class="code-snippet_outer">      v52 += sub_C1DBAC4C(v46 &gt;&gt; 1, (v145 + 1) &gt;&gt; 1, (unsigned int *)v104);</span></code><code><span class="code-snippet_outer">    v53 = sub_C1DBAC4C(v46, v145 &gt;&gt; 1, (unsigned int *)v104) + v52;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  else</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v53 = sub_C1DBAC4C(*a2, *a3, (unsigned int *)v104);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v54 = v110;</span></code><code><span class="code-snippet_outer">  if ( !*v110 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    if ( !v53 )</span></code><code><span class="code-snippet_outer">      goto LABEL_149;</span></code><code><span class="code-snippet_outer">    v55 = (void *)realloc(0);</span></code><code><span class="code-snippet_outer">    if ( !v55 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v57 = 83;</span></code><code><span class="code-snippet_outer">      goto LABEL_157;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    v152 = v55;</span></code><code><span class="code-snippet_outer">    v154 = v53;</span></code><code><span class="code-snippet_outer">    if ( !*v110 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">LABEL_149:</span></code><code><span class="code-snippet_outer">      v56 = (int (__fastcall *)(void **, int *, unsigned __int8 *, unsigned int, _DWORD *))v108[2];</span></code><code><span class="code-snippet_outer">      if ( v56 )</span></code><code><span class="code-snippet_outer">        v57 = v56(&amp;v152, &amp;v153, pdata, v129, v111);</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">        v57 = sub_C1DB7A98(&amp;v152, &amp;v153, pdata, v129, v111);</span></code><code><span class="code-snippet_outer">      v58 = v57;</span></code><code><span class="code-snippet_outer">      v54 = v110;</span></code><code><span class="code-snippet_outer">      if ( v153 != v53 )</span></code><code><span class="code-snippet_outer">        v58 = 91;</span></code><code><span class="code-snippet_outer">      if ( !v57 )</span></code><code><span class="code-snippet_outer">        v57 = v58;</span></code><code><span class="code-snippet_outer">LABEL_157:</span></code><code><span class="code-snippet_outer">      *v54 = v57;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  free(pdata);</span></code><code><span class="code-snippet_outer">  if ( !*v54 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v59 = *v135;</span></code><code><span class="code-snippet_outer">    v107 = *a2;</span></code><code><span class="code-snippet_outer">    v132 = *a3;</span></code><code><span class="code-snippet_outer">    v146 = *v104;</span></code><code><span class="code-snippet_outer">    v60 = sub_C1DB7DA4(*a2, *a3, *v104, *v135);</span></code><code><span class="code-snippet_outer">    v61 = malloc(v60);</span></code><code><span class="code-snippet_outer">    *a1 = v61;</span></code><code><span class="code-snippet_outer">    v62 = 83;</span></code><code><span class="code-snippet_outer">    if ( v61 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v60 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        for ( i = 0; i != v60; ++i )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          *(_BYTE *)(v61 + i) = 0;</span></code><code><span class="code-snippet_outer">          v61 = *a1;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        v64 = v108[38];</span></code><code><span class="code-snippet_outer">        v59 = *v135;</span></code><code><span class="code-snippet_outer">        v132 = *a3;</span></code><code><span class="code-snippet_outer">        v107 = *a2;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      else</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v64 = v146;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v147 = (char *)v152;</span></code><code><span class="code-snippet_outer">      v65 = 0;</span></code><code><span class="code-snippet_outer">      if ( v64 &lt;= 6 )</span></code><code><span class="code-snippet_outer">        v65 = dword_C1DD1C40[v64];</span></code><code><span class="code-snippet_outer">      v66 = v59 * v65;</span></code><code><span class="code-snippet_outer">      v62 = 31;</span></code><code><span class="code-snippet_outer">      if ( v66 )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        if ( *v123 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v139 = v61;</span></code><code><span class="code-snippet_outer">          sub_C1DBAF5C(v159, v158, v157, v156, v155, v107, v132, v66);</span></code><code><span class="code-snippet_outer">          v67 = 0;</span></code><code><span class="code-snippet_outer">          do</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v68 = *(_DWORD *)&amp;v158[v67];</span></code><code><span class="code-snippet_outer">            v141 = v67;</span></code><code><span class="code-snippet_outer">            v136 = &amp;v147[*(_DWORD *)&amp;v156[v67]];</span></code><code><span class="code-snippet_outer">            v69 = *(_DWORD *)&amp;v159[v67];</span></code><code><span class="code-snippet_outer">            v62 = sub_C1DBAC80(v136);</span></code><code><span class="code-snippet_outer">            if ( v62 )</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              v80 = 0;</span></code><code><span class="code-snippet_outer">              v54 = v110;</span></code><code><span class="code-snippet_outer">              goto LABEL_206;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">            if ( v66 &lt;= 7 )</span></code><code><span class="code-snippet_outer">              sub_C1DBAECC(&amp;v147[*(_DWORD *)&amp;v155[v141]], v136, v69 * v66, (v69 * v66 + 7) &amp; 0xFFFFFFF8, v68);</span></code><code><span class="code-snippet_outer">            v67 = v141 + 4;</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          while ( v141 != 24 );</span></code><code><span class="code-snippet_outer">          sub_C1DBAF5C(v164, v163, v162, v161, v160, v107, v132, v66);</span></code><code><span class="code-snippet_outer">          if ( v66 &lt;= 7 )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v81 = 0;</span></code><code><span class="code-snippet_outer">            v118 = v66;</span></code><code><span class="code-snippet_outer">            do</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              v96 = v81;</span></code><code><span class="code-snippet_outer">              v82 = v81;</span></code><code><span class="code-snippet_outer">              v106 = v163[v82];</span></code><code><span class="code-snippet_outer">              if ( v106 )</span></code><code><span class="code-snippet_outer">              {</span></code><code><span class="code-snippet_outer">                v134 = v164[v82];</span></code><code><span class="code-snippet_outer">                v103 = &amp;dword_C1DD1BAC[v82];</span></code><code><span class="code-snippet_outer">                v101 = (_DWORD *)((char *)&amp;unk_C1DD1BC8 + v82 * 4);</span></code><code><span class="code-snippet_outer">                v99 = &amp;dword_C1DD1BE4[v82];</span></code><code><span class="code-snippet_outer">                v98 = &amp;dword_C1DD1C00[v82];</span></code><code><span class="code-snippet_outer">                v97 = &amp;v160[v82 * 4];</span></code><code><span class="code-snippet_outer">                for ( j = 0; j != v106; ++j )</span></code><code><span class="code-snippet_outer">                {</span></code><code><span class="code-snippet_outer">                  if ( v134 )</span></code><code><span class="code-snippet_outer">                  {</span></code><code><span class="code-snippet_outer">                    pdatab = (void *)((*v99 * j + *v98) * v107 + *v101);</span></code><code><span class="code-snippet_outer">                    v125 = *v103;</span></code><code><span class="code-snippet_outer">                    v121 = 8 * *(_DWORD *)v97;</span></code><code><span class="code-snippet_outer">                    v83 = 0;</span></code><code><span class="code-snippet_outer">                    do</span></code><code><span class="code-snippet_outer">                    {</span></code><code><span class="code-snippet_outer">                      v84 = (v83 + v134 * j) * v66 + v121;</span></code><code><span class="code-snippet_outer">                      v138 = v83;</span></code><code><span class="code-snippet_outer">                      v85 = ((_DWORD)pdatab + v125 * v83) * v66;</span></code><code><span class="code-snippet_outer">                      v86 = v66;</span></code><code><span class="code-snippet_outer">                      do</span></code><code><span class="code-snippet_outer">                      {</span></code><code><span class="code-snippet_outer">                        v87 = ((unsigned __int8)v147[v84 &gt;&gt; 3] &gt;&gt; (~(_BYTE)v84 &amp; 7)) &amp; 1;</span></code><code><span class="code-snippet_outer">                        ++v84;</span></code><code><span class="code-snippet_outer">                        if ( v87 )</span></code><code><span class="code-snippet_outer">                          *(_BYTE *)(v139 + (v85 &gt;&gt; 3)) |= (_BYTE)v87 &lt;&lt; (~(_BYTE)v85 &amp; 7);</span></code><code><span class="code-snippet_outer">                        --v86;</span></code><code><span class="code-snippet_outer">                        ++v85;</span></code><code><span class="code-snippet_outer">                      }</span></code><code><span class="code-snippet_outer">                      while ( v86 );</span></code><code><span class="code-snippet_outer">                      v83 = v138 + 1;</span></code><code><span class="code-snippet_outer">                      v66 = v118;</span></code><code><span class="code-snippet_outer">                    }</span></code><code><span class="code-snippet_outer">                    while ( v138 + 1 != v134 );</span></code><code><span class="code-snippet_outer">                  }</span></code><code><span class="code-snippet_outer">                }</span></code><code><span class="code-snippet_outer">              }</span></code><code><span class="code-snippet_outer">              v81 = v96 + 1;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">            while ( v96 != 6 );</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          else</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v70 = v66 &gt;&gt; 3;</span></code><code><span class="code-snippet_outer">            v71 = 0;</span></code><code><span class="code-snippet_outer">            v149 = v66 &gt;&gt; 3;</span></code><code><span class="code-snippet_outer">            do</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              v100 = v71;</span></code><code><span class="code-snippet_outer">              v72 = v71;</span></code><code><span class="code-snippet_outer">              pdataa = (void *)v163[v71];</span></code><code><span class="code-snippet_outer">              if ( pdataa )</span></code><code><span class="code-snippet_outer">              {</span></code><code><span class="code-snippet_outer">                v120 = &amp;dword_C1DD1BAC[v72];</span></code><code><span class="code-snippet_outer">                v117 = (_DWORD *)((char *)&amp;unk_C1DD1BC8 + v72 * 4);</span></code><code><span class="code-snippet_outer">                v112 = &amp;dword_C1DD1BE4[v72];</span></code><code><span class="code-snippet_outer">                v105 = &amp;dword_C1DD1C00[v72];</span></code><code><span class="code-snippet_outer">                v102 = &amp;v160[v72 * 4];</span></code><code><span class="code-snippet_outer">                v142 = v164[v71];</span></code><code><span class="code-snippet_outer">                v124 = v142 * v70;</span></code><code><span class="code-snippet_outer">                v133 = 0;</span></code><code><span class="code-snippet_outer">                v130 = v147;</span></code><code><span class="code-snippet_outer">                do</span></code><code><span class="code-snippet_outer">                {</span></code><code><span class="code-snippet_outer">                  if ( v142 )</span></code><code><span class="code-snippet_outer">                  {</span></code><code><span class="code-snippet_outer">                    v73 = &amp;v130[*(_DWORD *)v102];</span></code><code><span class="code-snippet_outer">                    v137 = *v120 * v70;</span></code><code><span class="code-snippet_outer">                    v74 = (_BYTE *)(v139 + (*v117 + (*v105 + *v112 * (_DWORD)v133) * v107) * v70);</span></code><code><span class="code-snippet_outer">                    for ( k = 0; k != v142; ++k )</span></code><code><span class="code-snippet_outer">                    {</span></code><code><span class="code-snippet_outer">                      if ( v70 )</span></code><code><span class="code-snippet_outer">                      {</span></code><code><span class="code-snippet_outer">                        v76 = v73;</span></code><code><span class="code-snippet_outer">                        v77 = (char *)v149;</span></code><code><span class="code-snippet_outer">                        v78 = v74;</span></code><code><span class="code-snippet_outer">                        do</span></code><code><span class="code-snippet_outer">                        {</span></code><code><span class="code-snippet_outer">                          *v78 = *v76++;</span></code><code><span class="code-snippet_outer">                          --v77;</span></code><code><span class="code-snippet_outer">                          ++v78;</span></code><code><span class="code-snippet_outer">                        }</span></code><code><span class="code-snippet_outer">                        while ( v77 );</span></code><code><span class="code-snippet_outer">                      }</span></code><code><span class="code-snippet_outer">                      v70 = v149;</span></code><code><span class="code-snippet_outer">                      v73 += v149;</span></code><code><span class="code-snippet_outer">                      v74 += v137;</span></code><code><span class="code-snippet_outer">                    }</span></code><code><span class="code-snippet_outer">                  }</span></code><code><span class="code-snippet_outer">                  v130 += v124;</span></code><code><span class="code-snippet_outer">                  v133 = (char *)v133 + 1;</span></code><code><span class="code-snippet_outer">                }</span></code><code><span class="code-snippet_outer">                while ( v133 != pdataa );</span></code><code><span class="code-snippet_outer">              }</span></code><code><span class="code-snippet_outer">              v71 = v100 + 1;</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">            while ( v100 != 6 );</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">          v62 = 0;</span></code><code><span class="code-snippet_outer">          v54 = v110;</span></code><code><span class="code-snippet_outer">          v80 = 1;</span></code><code><span class="code-snippet_outer">LABEL_206:</span></code><code><span class="code-snippet_outer">          if ( v80 )</span></code><code><span class="code-snippet_outer">LABEL_207:</span></code><code><span class="code-snippet_outer">            v62 = 0;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        else if ( v66 &gt; 7 || (v79 = v107 * v66, v107 * v66 == ((v107 * v66 + 7) &amp; 0xFFFFFFF8)) )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v62 = sub_C1DBAC80(v61);</span></code><code><span class="code-snippet_outer">          if ( !v62 )</span></code><code><span class="code-snippet_outer">            goto LABEL_207;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        else</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v151 = (void *)((v107 * v66 + 7) &amp; 0xFFFFFFF8);</span></code><code><span class="code-snippet_outer">          v95 = v61;</span></code><code><span class="code-snippet_outer">          v62 = sub_C1DBAC80(v152);</span></code><code><span class="code-snippet_outer">          if ( !v62 )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            sub_C1DBAECC(v95, v147, v79, v151, v132);</span></code><code><span class="code-snippet_outer">            goto LABEL_207;</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    *v54 = v62;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v88 = 0;</span></code><code><span class="code-snippet_outer">  v153 = 0;</span></code><code><span class="code-snippet_outer">  v154 = 0;</span></code><code><span class="code-snippet_outer">  free(v152);</span></code><code><span class="code-snippet_outer">  result = *v54;</span></code><code><span class="code-snippet_outer">  if ( !*v54 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v89 = v108 + 27;</span></code><code><span class="code-snippet_outer">    if ( v108[8] )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( !sub_C1DB8460(v108 + 27, v104) )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        if ( (*v89 | 4) != 6 )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          result = 56;</span></code><code><span class="code-snippet_outer">          if ( v108[28] != 8 )</span></code><code><span class="code-snippet_outer">            return result;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        v150 = (void *)*a1;</span></code><code><span class="code-snippet_outer">        v90 = *a3;</span></code><code><span class="code-snippet_outer">        v91 = *a2;</span></code><code><span class="code-snippet_outer">        v92 = sub_C1DB7DA4(*a2, *a3, *v89, v108[28]);</span></code><code><span class="code-snippet_outer">        v93 = malloc(v92);</span></code><code><span class="code-snippet_outer">        *a1 = v93;</span></code><code><span class="code-snippet_outer">        v94 = 83;</span></code><code><span class="code-snippet_outer">        if ( v93 )</span></code><code><span class="code-snippet_outer">          v94 = sub_C1DB8064(v93, v150, v89, v104, v91, v90);</span></code><code><span class="code-snippet_outer">        *v110 = v94;</span></code><code><span class="code-snippet_outer">        free(v150);</span></code><code><span class="code-snippet_outer">        return *v110;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    else</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      result = sub_C1DB7D34(v108 + 27, v104);</span></code><code><span class="code-snippet_outer">      *v110 = result;</span></code><code><span class="code-snippet_outer">      if ( result )</span></code><code><span class="code-snippet_outer">        return result;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    return v88;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  return result;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">得到PIC数据(部分)(这个数据是伴随APP整个生命周期,主要用途是加解密密钥)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">BDC74300  2E 50 49 43 90 01 00 00  10 02 00 00 B0 02 00 00  .PIC............</span></code><code><span class="code-snippet_outer">BDC74310  82 1B 33 E3 4F 0C 49 C7  00 00 00 00 2D AA F5 F4  ..3...I.....-...</span></code><code><span class="code-snippet_outer">BDC74320  52 22 D7 92 FB 3E EB AA  4A A2 74 C9 12 2D F9 92  R&#34;ג .&gt;....t..-..</span></code><code><span class="code-snippet_outer">BDC74330  F4 E7 CD 2C D8 33 1A B5  D4 8F F1 1E 11 6A 63 4D  ........ԏ ....cM</span></code><code><span class="code-snippet_outer">BDC74340  73 AC 1E 88 BB E5 A5 D2  19 F4 46 8A 7D 13 57 F8  s.............W.</span></code><code><span class="code-snippet_outer">BDC74350  0C 14 F1 4C C7 E2 89 01  1A BD C8 72 66 3F F0 A9  ............f?..</span></code><code><span class="code-snippet_outer">BDC74360  C2 BA 6B 75 6D E3 03 FC  8F 61 20 96 6F 2C 44 2D  º kum....a .o,D-</span></code><code><span class="code-snippet_outer">BDC74370  D6 19 DE F4 74 8E 6F 01  6B 9D 5F BB 6D C4 6C CD  ....t.o.k._.m...</span></code><code><span class="code-snippet_outer">BDC74380  49 00 8F 36 F9 18 8E 50  2D 35 F3 6C F0 6C 75 84  I..6...P-5....u.</span></code><code><span class="code-snippet_outer">BDC74390  2C 78 A0 D7 8E 64 A1 E9  CC 5C 1A 59 C3 78 E3 7A  ,x...d.....Y....</span></code></pre></section><h4 data-source-line="1221" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.4、采集系统环境信息加密</span></h4><h5 data-source-line="1222" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.4.1、循环获取信息 0x34次</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:C1AF5224 02 98       LDR             R0, [SP,#8]</span></code><code><span class="code-snippet_outer">.text:C1AF5226 06 59       LDR             R6, [R0,R4]</span></code><code><span class="code-snippet_outer">.text:C1AF5228 D6 F7 46 F8 BL              init_DecString_sub_C84582B8</span></code><code><span class="code-snippet_outer">.text:C1AF522C 06 90       STR             R0, [SP,#0x18]</span></code><code><span class="code-snippet_outer">.text:C1AF522E 0A AD       ADD             R5, SP, #0x28 ; &#39;(&#39;</span></code><code><span class="code-snippet_outer">.text:C1AF5230 28 00       MOVS            R0, R5</span></code><code><span class="code-snippet_outer">.text:C1AF5232 04 99       LDR             R1, [SP,#0x10]</span></code><code><span class="code-snippet_outer">.text:C1AF5234 05 9A       LDR             R2, [SP,#0x14]</span></code><code><span class="code-snippet_outer">.text:C1AF5236 33 00       MOVS            R3, R6</span></code><code><span class="code-snippet_outer">.text:C1AF5238 FB F7 AC FE BL              GetDeviceInfo_dispatch_loop_sub_C89F8F94 ; 获取设备信息1</span></code><code><span class="code-snippet_outer">.text:C1AF523C 06 98       LDR             R0, [SP,#0x18]</span></code><code><span class="code-snippet_outer">.text:C1AF523E 31 00       MOVS            R1, R6</span></code><code><span class="code-snippet_outer">.text:C1AF5240 2A 00       MOVS            R2, R5</span></code><code><span class="code-snippet_outer">.text:C1AF5242 03 9D       LDR             R5, [SP,#0xC]</span></code><code><span class="code-snippet_outer">.text:C1AF5244 F9 F7 BE F9 BL              jmp_checkField_sub_C89F65C4 ; 判断采集的设备信息是否等于如下特殊字符[]，{}，mtg_block，mtg_unsupport</span></code><code><span class="code-snippet_outer">.text:C1AF5248 0A 98       LDR             R0, [SP,#0x28]</span></code><code><span class="code-snippet_outer">.text:C1AF524A 40 19       ADDS            R0, R0, R5</span></code><code><span class="code-snippet_outer">.text:C1AF524C 09 A9       ADD             R1, SP, #0x24 ; &#39;$&#39;</span></code><code><span class="code-snippet_outer">.text:C1AF524E 4C F0 7B FA BL              free_sub_B2943748</span></code><code><span class="code-snippet_outer">.text:C1AF5252 04 34       ADDS            R4, #4</span></code><code><span class="code-snippet_outer">.text:C1AF5254 34 2C       CMP             R4, #0x34 ; &#39;4&#39;         ; 判断是否结束</span></code><code><span class="code-snippet_outer">.text:C1AF5256 E5 D1       BNE             loc_C1AF5224</span></code><code><span class="code-snippet_outer">.text:C1AF5258 03 B5       PUSH            {R0,R1,LR}              ; 获取结束</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">在下面地方下是跳转到每一个采集信息方法入口的地方，下好断点:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:C207A134 80 00       LSLS            R0, R0, #2              ; 跳到真实执行方法</span></code><code><span class="code-snippet_outer">.text:C207A136 02 A1       ADR             R1, loc_C207A140</span></code><code><span class="code-snippet_outer">.text:C207A138 08 58       LDR             R0, [R1,R0]             ; 取方法表偏移</span></code><code><span class="code-snippet_outer">.text:C207A13A 08 18       ADDS            R0, R1, R0</span></code><code><span class="code-snippet_outer">.text:C207A13C 87 46       MOV             PC, R0</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">获取的系统环境信息</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  &#34;0&#34;: 2,</span></code><code><span class="code-snippet_outer">  &#34;1&#34;: [&#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;google&#34;, &#34;user&#34;, &#34;-&#34;, &#34;PQ2A.190305.002&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;sailfish&#34;, &#34;-&#34;, &#34;-&#34;, &#34;Pixel&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;adb&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;{\&#34;1\&#34;:\&#34;-\&#34;,\&#34;2\&#34;:\&#34;-\&#34;,\&#34;3\&#34;:\&#34;-\&#34;,\&#34;4\&#34;:\&#34;\&#34;,\&#34;5\&#34;:\&#34;\&#34;,\&#34;6\&#34;:\&#34;-\&#34;,\&#34;7\&#34;:\&#34;-\&#34;,\&#34;8\&#34;:\&#34;\&#34;,\&#34;9\&#34;:\&#34;\&#34;,\&#34;10\&#34;:\&#34;-\&#34;,\&#34;11\&#34;:\&#34;-\&#34;,\&#34;12\&#34;:\&#34;32\&#34;,\&#34;13\&#34;:\&#34;\&#34;,\&#34;14\&#34;:\&#34;-\&#34;,\&#34;15\&#34;:\&#34;\&#34;,\&#34;33\&#34;:{\&#34;0\&#34;:0,\&#34;1\&#34;:\&#34;-\&#34;,\&#34;2\&#34;:\&#34;-\&#34;,\&#34;3\&#34;:\&#34;-\&#34;,\&#34;4\&#34;:\&#34;-\&#34;,\&#34;5\&#34;:\&#34;-\&#34;,\&#34;6\&#34;:\&#34;-\&#34;,\&#34;7\&#34;:\&#34;-\&#34;,\&#34;8\&#34;:\&#34;-\&#34;,\&#34;9\&#34;:\&#34;-\&#34;,\&#34;10\&#34;:\&#34;-\&#34;,\&#34;11\&#34;:\&#34;-\&#34;,\&#34;12\&#34;:\&#34;-\&#34;,\&#34;13\&#34;:\&#34;-\&#34;,\&#34;14\&#34;:\&#34;-\&#34;,\&#34;15\&#34;:\&#34;-\&#34;}}&#34;, &#34;midi,adb&#34;, &#34;midi,adb&#34;, &#34;release-keys&#34;, &#34;-&#34;, &#34;1&#34;, &#34;1&#34;, &#34;-&#34;, &#34;9&#34;],</span></code><code><span class="code-snippet_outer">  &#34;2&#34;: [&#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;, &#34;-&#34;],</span></code><code><span class="code-snippet_outer">  &#34;3&#34;: &#34;{}&#34;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h5 data-source-line="1265" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.4.2、加密设备信息</span></h5><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">压缩信息</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="kotlin"><code><span class="code-snippet_outer"> result = deflateInit_(&amp;strm, -1, a128, 56);</span></code><code><span class="code-snippet_outer">  if ( !result )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v6 = deflate(&amp;strm, 4);</span></code><code><span class="code-snippet_outer">    if ( v6 == 1 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      *a4 = strm.total_out;</span></code><code><span class="code-snippet_outer">      return deflateEnd(&amp;strm);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    deflateEnd(&amp;strm);</span></code><code><span class="code-snippet_outer">    if ( v6 != 2 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      if ( v6 != -5 )</span></code><code><span class="code-snippet_outer">        return v6;</span></code><code><span class="code-snippet_outer">      result = -3;</span></code><code><span class="code-snippet_outer">      if ( strm.avail_in )</span></code><code><span class="code-snippet_outer">        return v6;</span></code><code><span class="code-snippet_outer">      return result;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    return -3;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  return result;</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">压缩后信息</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">C3904500  78 9C 9D 92 DB 0A C2 30  0C 86 DF 25 D7 CD E8 61  x...............</span></code><code><span class="code-snippet_outer">C3904510  53 B7 3B DF 60 5E 5B 2F  26 AB 5A 9C 0C 56 04 65  S.;..^[/&amp;.Z..V.e</span></code><code><span class="code-snippet_outer">C3904520  F4 DD ED 0E B0 20 4E A6  17 81 2F E1 4F D2 9F B4  ..... N.../.....</span></code><code><span class="code-snippet_outer">C3904530  05 0E 99 64 20 20 DB 03  02 FB 1A E7 BA 3E 57 26  ...d  ........W&amp;</span></code><code><span class="code-snippet_outer">C3904540  C0 DD 99 66 AC E5 3B B9  8D 44 CA 15 4F 22 CE E5  ...f.....D..O&#34;..</span></code><code><span class="code-snippet_outer">C3904550  5B 87 2B 6C 75 B2 EE 42  4A B9 7D 98 EA C3 F0 A2  [.+lu.....}.....</span></code><code><span class="code-snippet_outer">C3904560  3C CE AC 6D 35 08 0D 99  06 D4 C0 34 48 C2 8A 70  &lt;ά m5......4H..p</span></code><code><span class="code-snippet_outer">C3904570  DC 73 8F C9 84 2B A2 58  13 DE 4C 92 74 42 C1 89  ...Ʉ +.X....tB..</span></code><code><span class="code-snippet_outer">C3904580  44 D0 AD 62 58 AB E4 90  29 D2 13 53 19 59 AD 3A  DЭ bX......S.Y.:</span></code><code><span class="code-snippet_outer">C3904590  51 78 7C 37 93 B3 5F 4C  20 71 81 0B 6C 20 F1 81  Qx|7.._L q..l ..</span></code></pre></section><p><span style="white-space:pre-wrap;font-family: Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 14px;text-align: left;background-color: rgba(0, 0, 0, 0.03);">解密PIC数据获取加密key 上面计算得到的sha256值，(包名+固定字符+SANKUAI.RSA的MD5值)-&gt;转换成hex</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">69fe5963f3b95d9718c8d3e4f924ad9379500e9b51d80686e65347890e1748fe</span></code><code><span class="code-snippet_outer">69 FE 59 63 F3 B9 5D 97 18 C8 D3 E4 F9 24 AD 93 79 50 0E 9B 51 D8 06 86</span></code><code><span class="code-snippet_outer">E6 53 47 89 0E 17 48 FE</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">取前0x10字节</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">69 FE 59 63 F3 B9 5D 97 18 C8 D3 E4 F9 24 AD 93</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">生成AES KEY</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:C1AE9DA2 0A A8       ADD             R0, SP, #0x28 ; &#39;(&#39;     ; 生成AES key</span></code><code><span class="code-snippet_outer">.text:C1AE9DA4 08 90       STR             R0, [SP,#0x20]</span></code><code><span class="code-snippet_outer">.text:C1AE9DA6 84 5D       LDRB            R4, [R0,R6]</span></code><code><span class="code-snippet_outer">.text:C1AE9DA8 82 B0       SUB             SP, SP, #8</span></code><code><span class="code-snippet_outer">.text:C1AE9DAA 03 B5       PUSH            {R0,R1,LR}</span></code><code><span class="code-snippet_outer">.text:C1AE9DAC DF F7 72 E9 BLX             jmp_sub_B288C094</span></code><code><span class="code-snippet_outer">.text:C1AE9DB0 54 01       LSLS            R4, R2, #5</span></code><code><span class="code-snippet_outer">.text:C1AE9DB2 00 00       MOVS            R0, R0</span></code><code><span class="code-snippet_outer">.text:C1AE9DB4 01 BC       POP             {R0}</span></code><code><span class="code-snippet_outer">.text:C1AE9DB6 20 18       ADDS            R0, R4, R0</span></code><code><span class="code-snippet_outer">.text:C1AE9DB8 29 00       MOVS            R1, R5</span></code><code><span class="code-snippet_outer">.text:C1AE9DBA 63 F0 49 F9 BL              sub_C1B4D050</span></code><code><span class="code-snippet_outer">.text:C1AE9DBE 07 91       STR             R1, [SP,#0x1C]</span></code><code><span class="code-snippet_outer">.text:C1AE9DC0 82 B0       SUB             SP, SP, #8</span></code><code><span class="code-snippet_outer">.text:C1AE9DC2 03 B5       PUSH            {R0,R1,LR}</span></code><code><span class="code-snippet_outer">.text:C1AE9DC4 DF F7 66 E9 BLX             jmp_sub_B288C094</span></code><code><span class="code-snippet_outer">.text:C1AE9DC8 40 01       LSLS            R0, R0, #5</span></code><code><span class="code-snippet_outer">.text:C1AE9DCA 00 00       MOVS            R0, R0</span></code><code><span class="code-snippet_outer">.text:C1AE9DCC 01 BC       POP             {R0}</span></code><code><span class="code-snippet_outer">.text:C1AE9DCE 20 18       ADDS            R0, R4, R0</span></code><code><span class="code-snippet_outer">.text:C1AE9DD0 04 99       LDR             R1, [SP,#0x10]</span></code><code><span class="code-snippet_outer">.text:C1AE9DD2 63 F0 3D F9 BL              sub_C1B4D050</span></code><code><span class="code-snippet_outer">.text:C1AE9DD6 69 43       MULS            R1, R5</span></code><code><span class="code-snippet_outer">.text:C1AE9DD8 07 98       LDR             R0, [SP,#0x1C]</span></code><code><span class="code-snippet_outer">.text:C1AE9DDA 08 18       ADDS            R0, R1, R0              ; 初始化密钥</span></code><code><span class="code-snippet_outer">.text:C1AE9DDC 03 21       MOVS            R1, #3</span></code><code><span class="code-snippet_outer">.text:C1AE9DDE 41 43       MULS            R1, R0</span></code><code><span class="code-snippet_outer">.text:C1AE9DE0 06 98       LDR             R0, [SP,#0x18]</span></code><code><span class="code-snippet_outer">.text:C1AE9DE2 40 18       ADDS            R0, R0, R1</span></code><code><span class="code-snippet_outer">.text:C1AE9DE4 80 78       LDRB            R0, [R0,#2]</span></code><code><span class="code-snippet_outer">.text:C1AE9DE6 20 40       ANDS            R0, R4</span></code><code><span class="code-snippet_outer">.text:C1AE9DE8 FE 21       MOVS            R1, #0xFE</span></code><code><span class="code-snippet_outer">.text:C1AE9DEA 01 40       ANDS            R1, R0</span></code><code><span class="code-snippet_outer">.text:C1AE9DEC 08 98       LDR             R0, [SP,#0x20]</span></code><code><span class="code-snippet_outer">.text:C1AE9DEE 81 55       STRB            R1, [R0,R6]             ; 存储密钥</span></code><code><span class="code-snippet_outer">.text:C1AE9DF0 01 36       ADDS            R6, #1</span></code><code><span class="code-snippet_outer">.text:C1AE9DF2 10 2E       CMP             R6, #0x10               ; 判断是否结束</span></code><code><span class="code-snippet_outer">.text:C1AE9DF4 D5 D1       BNE             loc_C1AE9DA2            ; 生成AES key</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">生成最终的AES KEY</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">68 98 08 02 F2 80 1C 94 08 C8 90 E4 A0 04 AC 82</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">AES 解密pic</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">//IV 0102030405060708</span></code><code><span class="code-snippet_outer">.text:C1AE7598 57 F0 7A F8 BL              AES_set_decrypt_key_sub_CB601690 ; R0:key,R1:大小,R2:初始AES_KEY返回结构</span></code><code><span class="code-snippet_outer">.text:C1AE759C 00 20       MOVS            R0, #0</span></code><code><span class="code-snippet_outer">.text:C1AE759E 69 46       MOV             R1, SP</span></code><code><span class="code-snippet_outer">.text:C1AE75A0 06 9A       LDR             R2, [SP,#0x128+var_110]</span></code><code><span class="code-snippet_outer">.text:C1AE75A2 0A 60       STR             R2, [R1,#0x128+var_128]</span></code><code><span class="code-snippet_outer">.text:C1AE75A4 48 60       STR             R0, [R1,#0x128+var_124]</span></code><code><span class="code-snippet_outer">.text:C1AE75A6 08 98       LDR             R0, [SP,#0x128+var_108]</span></code><code><span class="code-snippet_outer">.text:C1AE75A8 04 9E       LDR             R6, [SP,#0x128+var_118]</span></code><code><span class="code-snippet_outer">.text:C1AE75AA 31 00       MOVS            R1, R6</span></code><code><span class="code-snippet_outer">.text:C1AE75AC 07 9C       LDR             R4, [SP,#0x128+var_10C]</span></code><code><span class="code-snippet_outer">.text:C1AE75AE 22 00       MOVS            R2, R4</span></code><code><span class="code-snippet_outer">.text:C1AE75B0 03 9B       LDR             R3, [SP,#0x128+var_11C]</span></code><code><span class="code-snippet_outer">.text:C1AE75B2 57 F0 35 FD BL              AES_cbc_Dncrypt_sub_CB602020</span></code><code><span class="code-snippet_outer">.text:C1AE75B6 30 00       MOVS            R0, R6</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密解压后PIC数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{&#34;a1&#34;:0,&#34;a10&#34;:400,&#34;a2&#34;:&#34;com.sankuai.meituan&#34;,&#34;a11&#34;:&#34;c1ee9178c95d9ec75f0f076a374df94a032d54c8576298d4f75e653de3705449&#34;,&#34;a3&#34;:&#34;0a16ecd60eb56a6a3349f66cdcf7f7bf5190e5a42d6280d8dc0ee3be228398ec&#34;,&#34;a4&#34;:1100030200,&#34;k0&#34;:{&#34;k1&#34;:&#34;meituan1sankuai0&#34;,&#34;k2&#34;:&#34;meituan0sankuai1&#34;,&#34;k3&#34;:&#34;$MXMYBS@HelloPay&#34;,&#34;k4&#34;:&#34;Maoyan010iauknaS&#34;,&#34;k5&#34;:&#34;34281a9dw2i701d4&#34;,&#34;k6&#34;:&#34;X%rj@KiuU+|xY}?f&#34;},&#34;a5&#34;:&#34;11.3.200&#34;,&#34;a0&#34;:&#34;pw/LhTdeoTTyaxPHcHMy+/ssGNS1ihNkrJ+uBI74FIfd90KlTil1m0i7FF/n0bhY&#34;,&#34;a6&#34;:&#34;/HntC9XIfdUyII/UiVfx020EQPpHz2XZY3qzM2aiNmM0i0pB1yeSO689TY9SBB3s&#34;,&#34;a7&#34;:&#34;QsHnU6kFjTYR8Z6tHEvkGMO2Hrt+NRnVQhmxg6EtVBzuzQcBpma3AdhTWNMpesFT&#34;,&#34;c0&#34;:{&#34;c1&#34;:true,&#34;c2&#34;:false},&#34;a9&#34;:&#34;SDEzWXi5LHL/cuMCZ1zYyv+0hIViqWWf+ShbUYILWf4=&#34;,&#34;a8&#34;:1603800117167}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解析json获取key k6</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">X%rj@KiuU+|xY}?f</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算压缩后信息的CRC值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:C1B2C832             crc32_loc_CCBA9832  </span></code><code><span class="code-snippet_outer">.text:C1B2C848↓j</span></code><code><span class="code-snippet_outer">.text:C1B2C832 FF 25       MOVS            R5, #0xFF</span></code><code><span class="code-snippet_outer">.text:C1B2C834 05 40       ANDS            R5, R0</span></code><code><span class="code-snippet_outer">.text:C1B2C836 16 78       LDRB            R6, [R2]</span></code><code><span class="code-snippet_outer">.text:C1B2C838 6E 40       EORS            R6, R5</span></code><code><span class="code-snippet_outer">.text:C1B2C83A B5 00       LSLS            R5, R6, #2</span></code><code><span class="code-snippet_outer">.text:C1B2C83C 65 59       LDR             R5, [R4,R5]</span></code><code><span class="code-snippet_outer">.text:C1B2C83E 00 0A       LSRS            R0, R0, #8</span></code><code><span class="code-snippet_outer">.text:C1B2C840 68 40       EORS            R0, R5</span></code><code><span class="code-snippet_outer">.text:C1B2C842 01 39       SUBS            R1, #1</span></code><code><span class="code-snippet_outer">.text:C1B2C844 01 32       ADDS            R2, #1</span></code><code><span class="code-snippet_outer">.text:C1B2C846 00 29       CMP             R1, #0</span></code><code><span class="code-snippet_outer">.text:C1B2C848 F3 D1       BNE             crc32_loc_CCBA9832</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">计算后的CRC值为 744d7275 组合加密压缩后设备环境信息的key</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="typescript"><code><span class="code-snippet_outer">744d7275X%rj@Kiu //crc32+k6前8字节</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">AES加密压缩后数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:C1AE750E 32 00       MOVS            R2, R6</span></code><code><span class="code-snippet_outer">.text:C1AE7510 56 F0 30 FF BL              AES_set_Encrypt_key_sub_CB601374 ; R0:key,R1:长度,R2:返回值</span></code><code><span class="code-snippet_outer">.text:C1AE7514 06 9A       LDR             R2, [SP,#0x120+byte_count]</span></code><code><span class="code-snippet_outer">.text:C1AE7516 01 20       MOVS            R0, #1</span></code><code><span class="code-snippet_outer">.text:C1AE7518 69 46       MOV             R1, SP</span></code><code><span class="code-snippet_outer">.text:C1AE751A 04 9B       LDR             R3, [SP,#0x120+var_110]</span></code><code><span class="code-snippet_outer">.text:C1AE751C 0B 60       STR             R3, [R1,#0x120+var_120]</span></code><code><span class="code-snippet_outer">.text:C1AE751E 48 60       STR             R0, [R1,#0x120+var_11C]</span></code><code><span class="code-snippet_outer">.text:C1AE7520 05 98       LDR             R0, [SP,#0x120+p]</span></code><code><span class="code-snippet_outer">.text:C1AE7522 02 9C       LDR             R4, [SP,#0x120+var_118]</span></code><code><span class="code-snippet_outer">.text:C1AE7524 21 00       MOVS            R1, R4</span></code><code><span class="code-snippet_outer">.text:C1AE7526 33 00       MOVS            R3, R6</span></code><code><span class="code-snippet_outer">.text:C1AE7528 57 F0 7A FD BL              AES_cbc_Encrypt_sub_CB602020 ; R0：原始数据,R1:返回,R2:大小,R3:key</span></code><code><span class="code-snippet_outer">.text:C1AE752C 06 98       LDR             R0, [SP,#0x120+byte_count]</span></code><code><span class="code-snippet_outer">.text:C1AE752E 03 99       LDR             R1, [SP,#0x120+var_114]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">加密后数据(部分)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">C37514E0  2E 5D 33 AF C8 C3 6B 6A  7F C2 9F F6 39 16 52 57  .]3...kj.......W</span></code><code><span class="code-snippet_outer">C37514F0  1D CB 01 FF A2 FA 48 0B  2D 2B 7E 39 73 EB 65 E7  ......H.-+~9s...</span></code><code><span class="code-snippet_outer">C3751500  14 93 59 D9 15 F2 D7 CB  C7 40 DC B5 9D 0D 34 16  ..Y......@....4.</span></code><code><span class="code-snippet_outer">C3751510  9C BF 69 C6 54 97 81 C8  69 7A 26 03 BF FA F3 D9  ..i......z&amp;.....</span></code><code><span class="code-snippet_outer">C3751520  A3 D2 BE 38 B0 99 48 4A  5E 56 F0 C6 88 54 79 BD  .Ҿ 8..HJ^V....y.</span></code><code><span class="code-snippet_outer">C3751530  56 86 96 A7 40 D4 61 32  6D A4 07 55 F1 46 46 EF  V...@..2m..U....</span></code><code><span class="code-snippet_outer">C3751540  4E A1 CA 86 F8 1E 69 09  0B CF 6D 05 3B D3 0F B4  N.ʆ ..i.....;...</span></code><code><span class="code-snippet_outer">C3751550  63 78 65 6D AD F7 B2 C4  75 86 C5 35 B5 6F 42 BA  cxem.........oB.</span></code><code><span class="code-snippet_outer">C3751560  FA AF E7 4C 56 41 CF 36  46 86 3E E0 11 A3 35 9E  .....A..F.&gt;...5.</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">base64加密</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">.text:C1ACFE62 27 DB       BLT             loc_C1ACFEB4</span></code><code><span class="code-snippet_outer">.text:C1ACFE64 00 25       MOVS            R5, #0</span></code><code><span class="code-snippet_outer">.text:C1ACFE66 3A 4A       LDR             R2, =(aAbcdefghijklmn - 0xC1ACFE6C) ; &#34;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm&#34;...</span></code><code><span class="code-snippet_outer">.text:C1ACFE68 7A 44       ADD             R2, PC                  ; &#34;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm&#34;...</span></code><code><span class="code-snippet_outer">.text:C1ACFE6A 01 9E       LDR             R6, [SP,#0x28+var_24]</span></code><code><span class="code-snippet_outer">.text:C1ACFE6C</span></code><code><span class="code-snippet_outer">.text:C1ACFE6C             loc_C1ACFE6C                            ; CODE XREF: base64_sub_C795AE10+A0↓j</span></code><code><span class="code-snippet_outer">.text:C1ACFE6C 43 5D       LDRB            R3, [R0,R5]             ; 加密后数据</span></code><code><span class="code-snippet_outer">.text:C1ACFE6E 9B 08       LSRS            R3, R3, #2</span></code><code><span class="code-snippet_outer">.text:C1ACFE70 D3 5C       LDRB            R3, [R2,R3]             ; base64 key</span></code><code><span class="code-snippet_outer">.text:C1ACFE72 33 70       STRB            R3, [R6]</span></code><code><span class="code-snippet_outer">.text:C1ACFE74 43 5D       LDRB            R3, [R0,R5]</span></code><code><span class="code-snippet_outer">.text:C1ACFE76 1B 01       LSLS            R3, R3, #4</span></code><code><span class="code-snippet_outer">.text:C1ACFE78 30 24       MOVS            R4, #0x30 ; &#39;0&#39;</span></code><code><span class="code-snippet_outer">.text:C1ACFE7A 1C 40       ANDS            R4, R3</span></code><code><span class="code-snippet_outer">.text:C1ACFE7C 43 19       ADDS            R3, R0, R5</span></code><code><span class="code-snippet_outer">.text:C1ACFE7E 08 00       MOVS            R0, R1</span></code><code><span class="code-snippet_outer">.text:C1ACFE80 59 78       LDRB            R1, [R3,#1]</span></code><code><span class="code-snippet_outer">.text:C1ACFE82 09 09       LSRS            R1, R1, #4</span></code><code><span class="code-snippet_outer">.text:C1ACFE84 21 43       ORRS            R1, R4</span></code><code><span class="code-snippet_outer">.text:C1ACFE86 51 5C       LDRB            R1, [R2,R1]</span></code><code><span class="code-snippet_outer">.text:C1ACFE88 71 70       STRB            R1, [R6,#1]</span></code><code><span class="code-snippet_outer">.text:C1ACFE8A 59 78       LDRB            R1, [R3,#1]</span></code><code><span class="code-snippet_outer">.text:C1ACFE8C 89 00       LSLS            R1, R1, #2</span></code><code><span class="code-snippet_outer">.text:C1ACFE8E 3C 24       MOVS            R4, #0x3C ; &#39;&lt;&#39;</span></code><code><span class="code-snippet_outer">.text:C1ACFE90 0C 40       ANDS            R4, R1</span></code><code><span class="code-snippet_outer">.text:C1ACFE92 99 78       LDRB            R1, [R3,#2]</span></code><code><span class="code-snippet_outer">.text:C1ACFE94 89 09       LSRS            R1, R1, #6</span></code><code><span class="code-snippet_outer">.text:C1ACFE96 21 43       ORRS            R1, R4</span></code><code><span class="code-snippet_outer">.text:C1ACFE98 51 5C       LDRB            R1, [R2,R1]</span></code><code><span class="code-snippet_outer">.text:C1ACFE9A B1 70       STRB            R1, [R6,#2]</span></code><code><span class="code-snippet_outer">.text:C1ACFE9C 99 78       LDRB            R1, [R3,#2]</span></code><code><span class="code-snippet_outer">.text:C1ACFE9E 3F 23       MOVS            R3, #0x3F ; &#39;?&#39;</span></code><code><span class="code-snippet_outer">.text:C1ACFEA0 0B 40       ANDS            R3, R1</span></code><code><span class="code-snippet_outer">.text:C1ACFEA2 D1 5C       LDRB            R1, [R2,R3]</span></code><code><span class="code-snippet_outer">.text:C1ACFEA4 F1 70       STRB            R1, [R6,#3]</span></code><code><span class="code-snippet_outer">.text:C1ACFEA6 01 00       MOVS            R1, R0</span></code><code><span class="code-snippet_outer">.text:C1ACFEA8 04 98       LDR             R0, [SP,#0x28+var_18]</span></code><code><span class="code-snippet_outer">.text:C1ACFEAA 04 36       ADDS            R6, #4</span></code><code><span class="code-snippet_outer">.text:C1ACFEAC 03 35       ADDS            R5, #3</span></code><code><span class="code-snippet_outer">.text:C1ACFEAE 8D 42       CMP             R5, R1</span></code><code><span class="code-snippet_outer">.text:C1ACFEB0 DC DB       BLT             loc_C1ACFE6C            ; 加密后数据</span></code><code><span class="code-snippet_outer">.text:C1ACFEB2 02 9A       LDR             R2, [SP,#0x28+var_20]</span></code><code><span class="code-snippet_outer">.text:C1ACFEB4</span></code><code><span class="code-snippet_outer">.text:C1ACFEB4             loc_C1ACFEB4                            ; CODE XREF: base64_sub_C795AE10+52↑j</span></code><code><span class="code-snippet_outer">.text:C1ACFEB4 95 42       CMP             R5, R2</span></code><code><span class="code-snippet_outer">.text:C1ACFEB6 1F DA       BGE             loc_C1ACFEF8</span></code><code><span class="code-snippet_outer">.text:C1ACFEB8 41 5D       LDRB            R1, [R0,R5]</span></code><code><span class="code-snippet_outer">.text:C1ACFEBA 14 00       MOVS            R4, R2</span></code><code><span class="code-snippet_outer">.text:C1ACFEBC 8A 08       LSRS            R2, R1, #2</span></code><code><span class="code-snippet_outer">.text:C1ACFEBE 25 49       LDR             R1, =(aAbcdefghijklmn - 0xC1ACFEC4) ; &#34;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm&#34;...</span></code><code><span class="code-snippet_outer">.text:C1ACFEC0 79 44       ADD             R1, PC                  ; &#34;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm&#34;...</span></code><code><span class="code-snippet_outer">.text:C1ACFEC2 8A 5C       LDRB            R2, [R1,R2]</span></code><code><span class="code-snippet_outer">.text:C1ACFEC4 32 70       STRB            R2, [R6]</span></code><code><span class="code-snippet_outer">.text:C1ACFEC6 42 5D       LDRB            R2, [R0,R5]</span></code><code><span class="code-snippet_outer">.text:C1ACFEC8 13 01       LSLS            R3, R2, #4</span></code><code><span class="code-snippet_outer">.text:C1ACFECA 30 22       MOVS            R2, #0x30 ; &#39;0&#39;</span></code><code><span class="code-snippet_outer">.text:C1ACFECC 1A 40       ANDS            R2, R3</span></code><code><span class="code-snippet_outer">.text:C1ACFECE 63 1E       SUBS            R3, R4, #1</span></code><code><span class="code-snippet_outer">.text:C1ACFED0 9D 42       CMP             R5, R3</span></code><code><span class="code-snippet_outer">.text:C1ACFED2 14 D1       BNE             loc_C1ACFEFE</span></code><code><span class="code-snippet_outer">.text:C1ACFED4 89 5C       LDRB            R1, [R1,R2]</span></code><code><span class="code-snippet_outer">.text:C1ACFED6 71 70       STRB            R1, [R6,#1]</span></code><code><span class="code-snippet_outer">.text:C1ACFED8 3D 21       MOVS            R1, #0x3D ; &#39;=&#39;</span></code><code><span class="code-snippet_outer">.text:C1ACFEDA 1B E0       B               loc_C1ACFF14</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">Base64加密后</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">Ll0zr8jDa2p/wp/2ORZSVx3LAf+i+kgLLSt+OXPrZecUk1nZFfLXy8dA3LWdDTQWnL9pxlSXgchpeiYDv/rz2aPSvjiwmUhKXlbwxohUeb1WhpanQNRhMm2kB1XxRkbvTqHKhvgeaQkLz20FO9MPtGN4ZW2t97LEdYbFNbVvQrr6r+dMVkHPNkaGPuARozWeaQGSSMkoMMJ+ve9rA1L+aQTgGSootSpmPnT3TPLrCPN0Z6HzPKtpxopqfsjfcIV7YcP7M8Wc847wXfhMA2hYTRO24or97heGubGuxo8hQyw=</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">将CRC值与Base64加密后值组合,(签名时使用到)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer">744d7275Ll0zr8jDa2p/wp/2ORZSVx3LAf+i+kgLLSt+OXPrZecUk1nZFfLXy8dA3LWdDTQWnL9pxlSXgchpeiYDv/rz2aPSvjiwmUhKXlbwxohUeb1WhpanQNRhMm2kB1XxRkbvTqHKhvgeaQkLz20FO9MPtGN4ZW2t97LEdYbFNbVvQrr6r+dMVkHPNkaGPuARozWeaQGSSMkoMMJ+ve9rA1L+aQTgGSootSpmPnT3TPLrCPN0Z6HzPKtpxopqfsjfcIV7YcP7M8Wc847wXfhMA2hYTRO24or97heGubGuxo8hQyw=</span></code></pre></section><p><br/></p><h4 data-source-line="1516" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.5、第二次加密设备信息</span></h4><p data-source-line="1517" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">设备信息数据</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="json"><code><span class="code-snippet_outer">{&#34;voltage&#34;:&#34;1&#34;,&#34;type&#34;:&#34;user&#34;,&#34;brand&#34;:&#34;google&#34;,&#34;psuc&#34;:&#34;adb&#34;,&#34;temp&#34;:&#34;1&#34;,&#34;suc&#34;:&#34;midi,adb&#34;,&#34;id&#34;:&#34;PQ2A.190305.002&#34;,&#34;sus&#34;:&#34;midi,adb&#34;,&#34;tags&#34;:&#34;release-keys&#34;,&#34;timestamp&#34;:&#34;1631688160837&#34;,&#34;hardware&#34;:&#34;sailfish&#34;,&#34;version&#34;:&#34;9&#34;,&#34;model&#34;:&#34;Pixel&#34;}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">压缩数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">C42FEF80  78 9C 55 8E 41 12 82 30  0C 45 EF D2 35 32 2D 8C  x.U.A..0.E...2-.</span></code><code><span class="code-snippet_outer">C42FEF90  08 EE BC 81 1E 21 D8 08  19 5B CA 34 80 32 8E 77  .  .!...[...2.w</span></code><code><span class="code-snippet_outer">C42FEFA0  37 15 37 AE 92 FF F2 93  FC 97 5A 82 9B A0 43 75  7.7.......Z...Cu</span></code><code><span class="code-snippet_outer">C42FEFB0  54 46 65 6A 5A C7 D4 CE  8C 51 54 1B 61 B0 22 BB  TFejZ..Ό QT.a.&#34;.</span></code><code><span class="code-snippet_outer">C42FEFC0  10 3A 87 02 46 9E AF A2  C1 B6 C9 8B 7E FC AD 6D  .:..F.....ɋ ~..m</span></code><code><span class="code-snippet_outer">C42FEFD0  D8 93 A5 6C 9B 51 5A 3B  5F 8A 53 6E 1A 5D EA 7D  ...l.QZ;_.Sn.]..</span></code><code><span class="code-snippet_outer">C42FEFE0  AE 75 F1 F5 F1 BF 4F 5E  27 12 D1 21 30 EE EE B8  .u....O^&#39;...0...</span></code><code><span class="code-snippet_outer">C42FEFF0  72 A2 E4 91 27 D8 CE 57  A5 A9 EA DA 54 BA 2E 0F  r......W........</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解密PIC数据获取key(k1),流程和上面一样</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">解密后得到key meituan1sankuai0</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">AES 加密压缩后数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">.text:C1AE7510 56 F0 30 FF BL              AES_set_Encrypt_key_sub_CB601374 ; R0:key,R1:长度,R2:返回值</span></code><code><span class="code-snippet_outer">.text:C1AE7514 06 9A       LDR             R2, [SP,#0x120+byte_count]</span></code><code><span class="code-snippet_outer">.text:C1AE7516 01 20       MOVS            R0, #1</span></code><code><span class="code-snippet_outer">.text:C1AE7518 69 46       MOV             R1, SP</span></code><code><span class="code-snippet_outer">.text:C1AE751A 04 9B       LDR             R3, [SP,#0x120+var_110]</span></code><code><span class="code-snippet_outer">.text:C1AE751C 0B 60       STR             R3, [R1,#0x120+var_120]</span></code><code><span class="code-snippet_outer">.text:C1AE751E 48 60       STR             R0, [R1,#0x120+var_11C]</span></code><code><span class="code-snippet_outer">.text:C1AE7520 05 98       LDR             R0, [SP,#0x120+p]</span></code><code><span class="code-snippet_outer">.text:C1AE7522 02 9C       LDR             R4, [SP,#0x120+var_118]</span></code><code><span class="code-snippet_outer">.text:C1AE7524 21 00       MOVS            R1, R4</span></code><code><span class="code-snippet_outer">.text:C1AE7526 33 00       MOVS            R3, R6</span></code><code><span class="code-snippet_outer">.text:C1AE7528 57 F0 7A FD BL              AES_cbc_Encrypt_sub_CB602020 ; R0：原始数据,R1:返回,R2:大小,R3:key</span></code><code><span class="code-snippet_outer">.text:C1AE752C 06 98       LDR             R0, [SP,#0x120+byte_count]</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">加密后数据(部分)</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer">DEED6F00  2E 0F E3 72 62 1C 2B FB  35 B0 A9 CA E5 29 9F 79  ......+.5....).y</span></code><code><span class="code-snippet_outer">DEED6F10  C6 37 F0 02 CB 17 12 AE  6E 3D 5E AC EB A6 B5 DD  ........n=^.릵  .</span></code><code><span class="code-snippet_outer">DEED6F20  33 B9 24 A9 F4 E0 6D 6C  64 D6 76 E4 65 88 6C 6F  3.$.....d.....lo</span></code><code><span class="code-snippet_outer">DEED6F30  F3 53 20 FA B3 F8 02 6C  6D BC 75 C9 87 66 92 CE  .......lm.uɇ f..</span></code><code><span class="code-snippet_outer">DEED6F40  51 7A BC 09 BF 69 5D C0  C3 0A 71 77 46 5B E0 81  Qz...i]...qwF[..</span></code><code><span class="code-snippet_outer">DEED6F50  E2 15 67 05 5B 87 48 2D  0D D4 FA 99 EF 1C AC BD  ....[.H-........</span></code><code><span class="code-snippet_outer">DEED6F60  53 26 56 13 16 91 68 A8  EC 5B 1F D8 5F F4 61 BB  S&amp;V...h.........</span></code><code><span class="code-snippet_outer">DEED6F70  FA 2A 2F 03 B5 3F 6E 02  6E 57 ED 46 8B A1 1A 0A  .*/..?n.nW......</span></code><code><span class="code-snippet_outer">DEED6F80  F5 C5 E7 38 9F E5 8E 70  B1 8C D6 CF E8 D5 16 6F  ...............o</span></code><code><span class="code-snippet_outer">DEED6F90  F6 36 3B A5 D8 2B 3D D9  83 BD 17 C5 3F AA 3D 96  ......=ك .....=.</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">Base64加密后</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">Lg/jcmIcK/s1sKnK5SmfecY38ALLFxKubj1erOumtd0zuSSp9OBtbGTWduRliGxv81Mg+rP4AmxtvHXJh2aSzlF6vAm/aV3Awwpxd0Zb4IHiFWcFW4dILQ3U+pnvHKy9UyZWExaRaKjsWx/YX/Rhu/oqLwO1P24CblftRouhGgr1xec4n+WOcLGM1s/o1RZv9jY7pdgrPdmDvRfFP6o9liGe0rCXBoG85J1mm/6GmqQ=</span></code></pre></section><p><br/></p><h4 data-source-line="1572" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.6、代码混淆</span></h4><p data-source-line="1573" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">代码逻辑跳转动态计算：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">模板1</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:B845707C 01 10 CE E3 BIC             R1, LR, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:B8457080 00 11 91 E7 LDR             R1, [R1,R0,LSL#2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:B8457084 0E 10 81 E0 ADD             R1, R1, LR</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:B8457088 08 E0 9D E5 LDR             LR, [SP,#arg_8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:B845708C 08 10 8D E5 STR             R1, [SP,#arg_8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:B8457090 03 80 BD E8 POP             {R0,R1,PC}</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">模板2</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAC0 7F B5       PUSH            {R0-R6,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAC2 7F B5       PUSH            {R0-R6,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAC4 0D 26       MOVS            R6, #0xD</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAC6 63 21       MOVS            R1, #0x63 ; &#39;c&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAC8 68 46       MOV             R0, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDACA 10 30       ADDS            R0, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDACC 02 26       MOVS            R6, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDACE 08 30       ADDS            R0, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAD0 01 1D       ADDS            R1, R0, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAD2 8D 46       MOV             SP, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAD4 04 A6 05 36 ADRL            R6, byte_C18BDAED</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAD8 02 21       MOVS            R1, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDADA 0A 36       ADDS            R6, #0xA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDADC 76 18       ADDS            R6, R6, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDADE 46 62       STR             R6, [R0,#0x24]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAE0 40 BC       POP             {R6}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAE2 01 E0       B               loc_C18BDAE8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAE4             ;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAE4 84 44       ADD             R12, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAE6 12 34       ADDS            R4, #0x12</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAE8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAE8             loc_C18BDAE8   </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAE8 00 46       MOV             R0, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C18BDAEA 7F BD       POP             {R0-R6,PC}</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">字符串解密:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46060             DecString</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46060             ; __unwind { // 91B9000</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46060 10 B5       PUSH            {R4,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46062 01 2B       CMP             R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46064 08 DB       BLT             locret_C1D46078</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46066</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46066             loc_C1D46066</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46066 0C 78       LDRB            R4, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46068 54 40       EORS            R4, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D4606A 04 70       STRB            R4, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D4606C 01 3B       SUBS            R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D4606E 01 30       ADDS            R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46070 01 31       ADDS            R1, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46072 03 32       ADDS            R2, #3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46074 00 2B       CMP             R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46076 F6 D1       BNE             loc_C1D46066</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46078</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46078             locret_C1D46078</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1D46078 10 BD       POP             {R4,PC}</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"></span><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">流程混淆:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF41F0 00 2C       CMP             R4, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF41F2 01 DA       BGE             loc_C1AF41F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF41F4 FC F7 C8 FF BL              loc_C1AF1188</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF41F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF41F8             loc_C1AF41F8                            ; CODE XREF: .text:C1AF41F2↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF41F8 03 B5       PUSH            {R0,R1,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF41FA 01 48       LDR             R0, =0x4A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF41FC FC F7 F0 FE BL              ret_sub_CA67BFE0</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF0FE0             ret_sub_CA67BFE0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF0FE0 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF0FE0 D8 F7 4C E8 BLX             jmp_sub_B288C07C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">.text:C1AF0FE4 F0 1D       ADDS            R0, R6, #7</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;"></span><br/></p><p><span style="font-size: 14px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">作者简介：</span><br style="font-size: 14px;white-space: normal;box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"/><span style="font-size: 14px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">我是小三，目前从事软件安全相关工作，虽己工作多年，但内心依然有着执着的追求，信奉终身成长，不定义自己，热爱技术但不拘泥于技术，爱好分享，喜欢读书和乐于结交朋友，欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)</span></p>



<p><a href="2247483987">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=60605e8e&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247483987%26idx%3D1%26sn%3D48a5ec2021813a37b5d223a404884f92%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 17 Sep 2021 19:30:00 +0800</pubDate>
    </item>
    <item>
      <title>一张A4纸攻破某AI人脸识别产品</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483950&amp;idx=1&amp;sn=cce5d815a47313de944a54a48b5be54c</link>
      <description>人脸识别，是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流，并自动在图像中检测和跟踪人脸，进而对检测到的人脸进行脸部识别的一系列相关技术，通常也叫做人像识别、面部识别。</description>
      <content:encoded><![CDATA[<p>
<span>矛和盾的故事</span> <span>2021-07-30 12:10</span> <span style="display: inline-block;"></span>
</p>

<p>人脸识别，是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流，并自动在图像中检测和跟踪人脸，进而对检测到的人脸进行脸部识别的一系列相关技术，通常也叫做人像识别、面部识别。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=090271f6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkOOaRFl9Mg5iby87TknoHhnXyib4bprYdH2CRz7QEyTsnSZxlbO1erAiaA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<pre data-source-line="2" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);"><span style="font-size: 14px;color: rgb(0, 82, 255);box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">一、人脸识别简介与应用场景</span><br/><span style="font-size: 14px;color: rgb(0, 82, 255);box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">二、人脸识别框架分析</span><br/><span style="font-size: 14px;color: rgb(0, 82, 255);box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">三、人脸识别的攻击面</span><br/><span style="font-size: 14px;color: rgb(0, 82, 255);box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">四、攻击流程分析</span><br/><span style="font-size: 14px;color: rgb(0, 82, 255);box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">五、总结</span></span></code></pre><h3 data-source-line="9" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">一、人脸识别简介与应用场景</span></h3><h5 data-source-line="10" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">1.1、什么是人脸识别</span></h5><p data-source-line="11" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">人脸识别，是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流，并自动在图像中检测和跟踪人脸，进而对检测到的人脸进行脸部识别的一系列相关技术，通常也叫做人像识别、面部识别。<br style="box-sizing: border-box;"/></span></p><h5 data-source-line="12" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">1.2、人脸识别发展历程</span></h5><p data-source-line="13" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">早在20世纪50年代，认知科学家就已着手对人脸识别展开研究。<br style="box-sizing: border-box;"/>20世纪60年代，人脸识别工程化应用研究正式开启。当时的方法主要利用了人脸的几何结构，通过分析人脸器官特征点及其之间的拓扑关系进行辨识。这种方法简单直观，但是一旦人脸姿态、表情发生变化，则精度严重下降。<br style="box-sizing: border-box;"/>1991年，著名的“特征脸”方法第一次将主成分分析和统计特征技术引入人脸识别，在实用效果上取得了长足的进步。这一思路也在后续研究中得到进一步发扬光大。<br style="box-sizing: border-box;"/>21世纪的前十年，随着机器学习理论的发展，学者们相继探索出了基于遗传算法、支持向量机（Support Vector Machine， SVM）、boosting、流形学习以及核方法等进行人脸识别。<br style="box-sizing: border-box;"/>2013年，MSRA的研究者首度尝试了10万规模的大训练数据，并基于高维LBP特征和Joint Bayesian方法在LFW上获得了95.17%的精度。这一结果表明：大训练数据集对于有效提升非受限环境下的人脸识别很重要。然而，以上所有这些经典方法，都难以处理大规模数据集的训练场景。<br style="box-sizing: border-box;"/>2014年前后，随着大数据和深度学习的发展，神经网络重受瞩目，并在图像分类、手写体识别、语音识别等应用中获得了远超经典方法的结果。香港中文大学的Sun Yi等人提出将卷积神经网络应用到人脸识别上,采用20万训练数据，在LFW上第一次得到超过人类水平的识别精度，这是人脸识别发展历史上的一座里程碑。<br style="box-sizing: border-box;"/>自此之后，研究者们不断改进网络结构，同时扩大训练样本规模，将LFW上的识别精度推到99.5%以上。不断在训练数据扩充、新模型设计及度量学习等方面投入更多的精力，如今大规模人脸识别己走入实用。<br style="box-sizing: border-box;"/></span></p><h5 data-source-line="20" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">1.3、应用场景</span></h5><p data-source-line="21" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">人脸验证产品我们应该都很熟悉了，不少人都在用人脸进行解锁手机或者刷脸支付、人脸注册登录等，不过这只是其中的一小部分，还有应用于金融、泛安防、零售等行业场景，满足身份核验、人脸考勤、闸机通行等业务需求，概括来说，人脸识别实现了一件事，确定实际人脸与目标人脸的相似度，粗略可分为：人脸1:1比对、人脸1:N检测，按照类型分类大致如图1-1所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.0685096153846154" data-s="300,640" style="" data-type="png" data-w="832" src="https://wechat2rss.xlab.app/img-proxy/?k=c6133280&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkyhoub9RGgv20tOFvKibYZKB87JyFBxiaVoEMzOAdCwmOCqlYE4qxmsnQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="font-size: 14px;">                        图1-1<br/></span></p><h5 data-source-line="25" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">1.4、产品介绍</span></h5><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">该产品主要功能包含人脸检测与属性分析、人脸对比、人脸搜索、活体检测等能力。灵活应用于金融、泛安防、零售等行业场景，满足身份核验、人脸考勤、闸机通行等业务需求。如图1-2所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.43910614525139663" data-s="300,640" style="" data-type="png" data-w="895" src="https://wechat2rss.xlab.app/img-proxy/?k=8627ef42&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkJibsEDibZY2QUaWyMXQRJ78G9WSDHibUeHj4YXxO2b0pFM83f11dticsWQ%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                        图1-2<br/></span></p><h3 data-source-line="29" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">二、人脸识别框架分析</span></h3><h5 data-source-line="30" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">2.1、整体框架</span></h5><p data-source-line="31" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">一般来说人脸识别分为三步，采集数据、人脸检测、结果验证，流程大致如图2-1所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="2.009375" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=17f0c890&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkZUbib0ju1GqZ5eB1wv185oD3tk4mkoQXsud3QpdIZQPv3ickorxCyKCw%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                        图2-1<br/></span></p><p data-source-line="31" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">人脸识别是身份认证的第一步，因为首先我要确认这个人是真人，而不是视频、照片、面具等欺诈盗用行为，所以身份认证/安防的核心技术在于活体检测、人脸比对、人脸搜索；主要用于：线上远程认证场景(金融开户、刷脸注册、刷脸登录等)、线下无人值守场景(智慧交通、人脸门禁、刷脸取款、刷脸支付等)。<br style="box-sizing: border-box;"/></span></p><h3 data-source-line="35" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">三、人脸识别的攻击面</span></h3><h5 data-source-line="36" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">3.1、人脸识别技术</span></h5><p data-source-line="37" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">人脸识别主要分为人脸检测（face detecTIon）、特征提取（feature extracTIon）和人脸识别（face recogniTIon）三个过程。这期间随着硬件的升级发展，分为不同有类型，如图3-1所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.50078125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=01d0bd54&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMk0a4dAdTps6KibHRgj4wC8jReTcHNLxDtcfPk6icG9odibYolV9GXEribEg%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="37" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                        图3-1<br/></span></p><p data-source-line="37" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">3D人脸模型比2D人脸模型有更强的描述能力，能更好的表达出真实人脸，所以基于3D数据的人脸识别不管识别准确率还是活体检测准确率都有很大的提高。</span></p><h5 data-source-line="41" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">3.2、常见攻击面</span></h5><p data-source-line="42" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">业务场景不同，攻击方式也不同，难易度也不同，本次攻击的目标是用于金融APP登录注册时用到的人脸识别。<br style="box-sizing: border-box;"/>目前大部分人脸识别产品防止照片攻击基本都有活体检测（点头、张嘴等动作）机制，但是这种用户体验不好，在些基础上又出现一种静默活体检测的方式，这种方式相对来说用户体验更佳。<br style="box-sizing: border-box;"/>目前常见的攻击方式如图3-2、3-3、3-4所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.46875" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=fb5e7c61&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkMY06YTmonrVianRH66y5G2k1QzexPM6ia6iba0llMSHj6iaicyibBuP7ZiayQ%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                        图3-2<br/></span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.48828125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=bb415d1c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkp1cHNDyzMs2QP1oJ3uQSq1PjMmHlC2njv9N2EOMsAkgibAco3tfwLAw%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                        <span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"> 图3-3</span></span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.37419871794871795" data-s="300,640" style="" data-type="png" data-w="1248" src="https://wechat2rss.xlab.app/img-proxy/?k=65b20eae&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkqgc21mT3aGmHwoJmbXmGK4HbAaexaZs3S82Oibs28eCvmhzq7xhyVnA%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                         图3-4</span></p><h3 data-source-line="51" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">四、攻击流程分析</span></h3><h5 data-source-line="52" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.1、攻击方案尝试</span></h5><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">第一次尝试是在手机中打开一张静态照片来模拟攻击，AI能识别出图片中的人脸，但是被检测出不是真人，“人脸验证失败”,结果如图4-1所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.7583333333333333" data-s="300,640" style="" data-type="gif" data-w="480" src="https://wechat2rss.xlab.app/img-proxy/?k=7b9e5257&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkiacvQmdHBKdz4yRpVGPB0YXMppbiaIbTEeQynUbdc1WZTZFF6Ldgv7dQ%2F640%3Fwx_fmt%3Dgif"/></p><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                    图4-1</span></p><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;"><span style="display: none;line-height: 0px;">‍</span><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">第二次尝，通过第一次的尝试后我想应该是AI有检测人脸是否有动态的特征我再次将一个视频放在手机中播放来欺骗AI，但是最终还是没有成功。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;">经过两次尝试后，还是不能过掉AI活体检测，我最终决定分析APP识别人脸的整个过程和逻辑，是否能反向推导出识别模型，然后再构造出一张对抗性图像或视频数据来达到攻击模型的目的。攻击场景如图4-2所示</span><span style="display: none;line-height: 0px;">‍‍</span><br/></span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.4969574036511156" data-s="300,640" style="" data-type="png" data-w="493" src="https://wechat2rss.xlab.app/img-proxy/?k=3b5b25ce&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMk90VE7mgm00jRT33SfgJjNdvurvT1nN5LxFaV9YrAhJlibgqp1lR0lrA%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                        图4-2</span></p><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;"><span style="font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;display: none;line-height: 0px;">‍‍‍</span>对于离线模型其实还有一种方式是直接修改程序逻辑达到攻击的目的。</span></p><h5 data-source-line="61" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.2、攻击方案实施</span></h5><h6 data-source-line="62" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.2.1、模型初始化流程分析</span></h6><p data-source-line="63" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">打开摄像头，画出人脸识别框</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer" style="font-size: 14px;">if(v4_5 != null) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            Camera.CameraInfo v6_2 = new Camera.CameraInfo();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            Camera.getCameraInfo(v4_5.x, v6_2);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            WindowManager v7 = v4_5.getWindowManager();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            g.a(v7, &#34;windowManager&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            Display v7_1 = v7.getDefaultDisplay();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            g.a(v7_1, &#34;windowManager.defaultDisplay&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">int v7_2 = v7_1.getRotation();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">int v1 = 0;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if(v7_2 != 0) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if(v7_2 == 1) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                    v1 = 90;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                }</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">else if(v7_2 == 2) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                    v1 = 180;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                }</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">else if(v7_2 == 3) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                    v1 = 270;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                }</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer" style="font-size: 14px;">int v6_3 = v6_2.facing == 1 ? 360 - (v6_2.orientation + v1) % 360 : v6_2.orientation - v1 + 360 % 360;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            Camera v4_6 = v4_5.w;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if(v4_6 != null) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v4_6.setDisplayOrientation(v6_3);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">return;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            g.a();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">throw null;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        }</span></code></pre></section><p data-source-line="63" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">模型加载</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer" style="font-size: 14px;">public final int loadModel(AssetManager arg18) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if(arg18 != null) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            JSONArray v2 = new JSONArray(new BufferedReader(new InputStreamReader(arg18.open(&#34;live/config.json&#34;))).readLine());</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            ArrayList v1 = new ArrayList();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">int v3 = v2.length();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">int v4;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">for(v4 = 0; v4 &lt; v3; ++v4) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                JSONObject v5 = v2.getJSONObject(v4);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                g.a(v5, &#34;jsonArray.getJSONObject(i)&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                ModelConfig v6 = new ModelConfig(0f, 0f, 0f, 0, 0, null, false, 0x7F, null);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                String v7 = v5.optString(&#34;name&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                g.a(v7, &#34;config.optString(\&#34;name\&#34;)&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v6.setName(v7);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v6.setWidth(v5.optInt(&#34;width&#34;));</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v6.setHeight(v5.optInt(&#34;height&#34;));</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v6.setScale(((float)v5.optDouble(&#34;scale&#34;)));</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v6.setShift_x(((float)v5.optDouble(&#34;shift_x&#34;)));</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v6.setShift_y(((float)v5.optDouble(&#34;shift_y&#34;)));</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v6.setOrg_resize(v5.optBoolean(&#34;org_resize&#34;));</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v1.add(v6);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            }</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if(v1.isEmpty()) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                Log.e(&#34;Live&#34;, &#34;parse model config failed&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">return -1;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            }</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">return this.nativeLoadModel(arg18, v1);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        }</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        g.a(&#34;assetManager&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">throw null;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">    }</span></code></pre></section><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">模型初始化<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer" style="font-size: 14px;">// 从模型加载可以看到最终会调用nativeLoadModel来初始化模型</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB30             ; _DWORD __fastcall FaceDetector::LoadModel(FaceDetector *__hidden this, AAssetManager *mgr)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB30                             EXPORT _ZN12FaceDetector9LoadModelEP13AAssetManager</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB30             _ZN12FaceDetector9LoadModelEP13AAssetManager</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB30             ; __unwind {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB30 B0 B5                       PUSH            {R4,R5,R7,LR}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB32 02 AF                       ADD             R7, SP, #8</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB34 05 46                       MOV             R5, R0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB36 5C 30                       ADDS            R0, #0x5C ; &#39;\&#39;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB38 60 F9 8F 0A                 VLD1.32         {D16-D17}, [R0]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB3C 0C 46                       MOV             R4, R1</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB3E 68 20                       MOVS            R0, #0x68 ; &#39;h&#39;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB40 29 46                       MOV             R1, R5</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB42 17 4A                       LDR             R2, =(aDetectionDetec - 0xBB50) </span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB44 41 F9 80 0A                 VST1.32         {D16-D17}, [R1],R0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB48 05 F1 0C 00                 ADD.W           R0, R5, #0xC</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB4C 7A 44                       ADD             R2, PC  ; &#34;detection/detection.param&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB4E 61 F9 8F 0A                 VLD1.32         {D16-D17}, [R1]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB52 21 46                       MOV             R1, R4  ; mgr</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB54 40 F9 8F 0A                 VST1.32         {D16-D17}, [R0]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB58 28 46                       MOV             R0, R5  ; int</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB5A 0C F0 AD FF                 BL              sub_18AB8</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB5E 50 B1                       CBZ             R0, loc_BB76</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB60 10 49                       LDR             R1, =(aEngine - 0xBB6C) ; &#34;Engine&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB62 03 46                       MOV             R3, R0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB64 10 4A                       LDR             R2, =(aFacedetectorLo - 0xBB6E)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB66 06 20                       MOVS            R0, #6  ; prio</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB68 79 44                       ADD             R1, PC  ; &#34;Engine&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB6A 7A 44                       ADD             R2, PC  ; &#34;FaceDetector load param failed. %d&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB6C FE F7 EE E8                 BLX             __android_log_print</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB70 4F F0 FF 30                 MOV.W           R0, #0xFFFFFFFF</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB74 B0 BD                       POP             {R4,R5,R7,PC}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB76</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB76             loc_BB76                               </span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB76 0D 4A                       LDR             R2, =(aDetectionDetec_0 - 0xBB80) ; &#34;detection/detection.bin&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB78 28 46                       MOV             R0, R5  ; int</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB7A 21 46                       MOV             R1, R4  ; mgr</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB7C 7A 44                       ADD             R2, PC  ; &#34;detection/detection.bin&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB7E 0D F0 63 F8                 BL              sub_18C48</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB82 50 B1                       CBZ             R0, loc_BB9A</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB84 0A 49                       LDR             R1, =(aEngine - 0xBB90) ; &#34;Engine&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB86 03 46                       MOV             R3, R0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB88 0A 4A                       LDR             R2, =(aFacedetectorLo_0 - 0xBB92)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB8A 06 20                       MOVS            R0, #6  ; prio</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB8C 79 44                       ADD             R1, PC  ; &#34;Engine&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB8E 7A 44                       ADD             R2, PC </span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB90 FE F7 DC E8                 BLX             __android_log_print</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB94 6F F0 01 00                 MOV             R0, #0xFFFFFFFE</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB98 B0 BD                       POP             {R4,R5,R7,PC}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB9A 00 20                       MOVS            R0, #0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BB9C B0 BD                       POP             {R4,R5,R7,PC}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer" style="font-size: 14px;">//从二进制文件中载入模型并解析</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A64 CA 48                       LDR             R0, =(__sF_ptr - 0x16A6A)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A66 78 44                       ADD             R0, PC  ; __sF_ptr</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A68 01 68                       LDR             R1, [R0] ; __sF</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A6A CA 48                       LDR             R0, =(aInvalidLayerCo - 0x16A76) ; &#34;invalid layer_count or blob_count\n&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A6C 01 F1 A8 03                 ADD.W           R3, R1, #0xA8</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A70 22 21                       MOVS            R1, #0x22 ; &#39;&#34;&#39;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A72 78 44                       ADD             R0, PC  ; &#34;invalid layer_count or blob_count\n&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A74 22 E0                       B               loc_16ABC</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A76</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A76             loc_16A76                               ; CODE XREF: sub_169E4+36↑j</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A76 C8 48                       LDR             R0, =(__sF_ptr - 0x16A7C)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A78 78 44                       ADD             R0, PC  ; __sF_ptr</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A7A 01 68                       LDR             R1, [R0] ; __sF</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A7C C7 48                       LDR             R0, =(aParseMagicFail - 0x16A88) ; &#34;parse magic failed\n&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A7E 01 F1 A8 03                 ADD.W           R3, R1, #0xA8</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A82 13 21                       MOVS            R1, #0x13</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A84 78 44                       ADD             R0, PC  ; &#34;parse magic failed\n&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A86 19 E0                       B               loc_16ABC</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A88</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A88 C5 48                       LDR             R0, =(__sF_ptr - 0x16A8E)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A8A 78 44                       ADD             R0, PC  ; __sF_ptr</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A8C 01 68                       LDR             R1, [R0] ; __sF</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A8E C5 48                       LDR             R0, =(aParamIsTooOldP - 0x16A9A) ; &#34;param is too old, please regenerate\n&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A90 01 F1 A8 03                 ADD.W           R3, R1, #0xA8</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A94 24 21                       MOVS            R1, #0x24 ; &#39;$&#39;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A96 78 44                       ADD             R0, PC  ; &#34;param is too old, please regenerate\n&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A98 10 E0                       B               loc_16ABC</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A9A</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A9A             loc_16A9A                               ; CODE XREF: sub_169E4+5E↑j</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A9A C3 48                       LDR             R0, =(__sF_ptr - 0x16AA0)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A9C 78 44                       ADD             R0, PC  ; __sF_ptr</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016A9E 01 68                       LDR             R1, [R0] ; __sF</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016AA0 C2 48                       LDR             R0, =(aParseLayerCoun - 0x16AAC) ; &#34;parse layer_count failed\n&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016AA2 01 F1 A8 03                 ADD.W           R3, R1, #0xA8</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016AA6 19 21                       MOVS            R1, #0x19</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016AA8 78 44                       ADD             R0, PC  ; &#34;parse layer_count failed\n&#34;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:00016AAA 07 E0                       B               loc_16ABC</span></code></pre></section><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">以上是初始化过程，主要逻辑是读取模型解析出网络的layer层数及blob数，遍历所有的layer，解析每个layer层的类型（layer_type）、名称（layer_name）、输入数（bottom_count）和输出数（top_count），设置layer参数：layer的类型、名字、输入和输出。</span></p><h6 data-source-line="224" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.2.2、模型推理流程</span></h6><p data-source-line="225" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">获取人脸数据</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="java"><code><span class="code-snippet_outer" style="font-size: 14px;">@Override  // f.l.j.a.a</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">public final Object c_onPreviewFrame(Object arg13) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        b v3;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        r.d(arg13);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        MainActivity v13 = this.j.e;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        v13.G = true;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        c v1 = v13.u;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if(v1 != null) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">byte[] Facedata = this.k;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">int v5 = v13.y;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">int v6 = v13.z;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">int v7 = v13.A;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if(Facedata != null) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                List v13_1 = v1.a.detect(Facedata, v5, v6, v7);// 识别人脸方法</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if((v13_1.isEmpty() ^ 1) == 0) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                    v3 = new b();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                }</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">else {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">long v10 = System.currentTimeMillis();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                    FaceBox v13_2 = (FaceBox)v13_1.get(0);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                    v13_2.setConfidence(v1.b.a(Facedata, v5, v6, v7, v13_2));</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                    v3 = new b(v13_2, System.currentTimeMillis() - v10, true);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                MainActivity v13_3 = this.j.e;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v3.h = v13_3.v;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                Rect v6_1 = new Rect(((int)(((float)v3.b) * v13_3.D)), ((int)(((float)v3.c) * v13_3.E)), ((int)(((float)v3.d) * v13_3.D)), ((int)(((float)v3.e) * v13_3.E)));</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                a v13_4 = MainActivity.a(this.j.e);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v3.b = v6_1.left;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v3.a(4);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v3.c = v6_1.top;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v3.a(9);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v3.d = v6_1.right;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v3.a(6);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v3.e = v6_1.bottom;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v3.a(1);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                v13_4.a(v3);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                Log.d(&#34;MainActivity&#34;, &#34;threshold:&#34; + v3.h + &#34;, confidence: &#34; + v3.f);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">                MainActivity.a(this.j.e).p.postInvalidate();</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">this.j.e.G = false;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">return j.a;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            g.a(&#34;yuv&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">throw null;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">//调用到Native方法nativeDetectYuv</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">public final List detect(byte[] arg3, int arg4, int arg5, int arg6) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if(arg3 != null) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">if(arg4 * arg5 * 3 / 2 == arg3.length) {</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">return this.nativeDetectYuv(arg3, arg4, arg5, arg6);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">            }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer" style="font-size: 14px;">throw new IllegalArgumentException(&#34;Invalid yuv data&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer" style="font-size: 14px;">        g.a(&#34;yuv&#34;);</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">throw null;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">}</span></code></pre></section><p data-source-line="225" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">数据处理</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer" style="font-size: 14px;">手机摄像头获取的数据是yuv420sp格式，AI模型要求图像输入格式BGR，所以需要做格式转换。</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC60 F0 B5                       PUSH            {R4-R7,LR}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC62 03 AF                       ADD             R7, SP, #0xC</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC64 2D E9 00 0F                 PUSH.W          {R8-R11}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC68 99 B0                       SUB             SP, SP, #0x64</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC6A 0D 46                       MOV             R5, R1</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC6C 5B 49                       LDR             R1, =(__stack_chk_guard_ptr - 0xAC78)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC6E 00 26                       MOVS            R6, #0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC70 0D F1 28 0B                 ADD.W           R11, SP, #0x80+var_58</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC74 79 44                       ADD             R1, PC  ; __stack_chk_guard_ptr</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC76 99 46                       MOV             R9, R3</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC78 14 46                       MOV             R4, R2</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC7A 00 23                       MOVS            R3, #0  ; int</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC7C D1 F8 00 A0                 LDR.W           R10, [R1] ; __stack_chk_guard</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC80 DA F8 00 10                 LDR.W           R1, [R10]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC84 18 91                       STR             R1, [SP,#0x80+var_20]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC86 CD E9 00 06                 STRD.W          R0, R6, [SP,#0x80+var_80] ; void *</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC8A 02 EB D2 70                 ADD.W           R0, R2, R2,LSR#31</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC8E 02 EB 60 01                 ADD.W           R1, R2, R0,ASR#1 ; int</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC92 58 46                       MOV             R0, R11 ; this</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC94 2A 46                       MOV             R2, R5  ; int</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC96 FF F7 4E E8                 BLX             j__ZN2cv3MatC2EiiiPvj ; cv::Mat::Mat(int,int,int,void *,uint)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC9A D7 F8 08 80                 LDR.W           R8, [R7,#arg_0]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000AC9E 40 46                       MOV             R0, R8  ; this</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACA0 21 46                       MOV             R1, R4  ; int</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACA2 2A 46                       MOV             R2, R5  ; int</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACA4 10 23                       MOVS            R3, #0x10 ; int</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACA6 FF F7 7C E8                 BLX             j__ZN2cv3Mat6createEiii ; cv::Mat::create(int,int,int)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACAA 4B 4D                       LDR             R5, =0x1010000</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACAC CD E9 08 66                 STRD.W          R6, R6, [SP,#0x80+var_60]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACB0 05 F1 80 74                 ADD.W           R4, R5, #0x1000000</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACB4 CD E9 06 5B                 STRD.W          R5, R11, [SP,#0x80+var_68]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACB8 CD E9 04 66                 STRD.W          R6, R6, [SP,#0x80+var_70]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACBC CD E9 02 48                 STRD.W          R4, R8, [SP,#0x80+var_78]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACC0 06 A8                       ADD             R0, SP, #0x80+var_68</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACC2 02 A9                       ADD             R1, SP, #0x80+var_78</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACC4 5D 22                       MOVS            R2, #0x5D ; &#39;]&#39;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACC6 00 23                       MOVS            R3, #0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACC8 FF F7 3A E8                 BLX             _ZN2cv8cvtColorERKNS_11_InputArrayERKNS_12_OutputArrayEii ; cv::cvtColor(cv::_InputArray const&amp;,cv::_OutputArray const&amp;,int,int)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACCC A9 F1 02 00                 SUB.W           R0, R9, #2 ; switch 7 cases</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACD0 06 28                       CMP             R0, #6</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACD2 64 D8                       BHI             def_ACD4 ; jumptable 0000ACD4 default case</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000ACD4 DF E8 00 F0                 TBB.W           [PC,R0] ; switch jump</span></code></pre></section><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">创建一个模型对象，设置输入；提取中间节点的运算结果</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBB8 F0 B5                       PUSH            {R4-R7,LR}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBBA 03 AF                       ADD             R7, SP, #0xC</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBBC 2D E9 00 0B                 PUSH.W          {R8,R9,R11}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBC0 2D ED 0A 8B                 VPUSH           {D8-D12}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBC4 AA B0                       SUB             SP, SP, #0xA8</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBC6 05 46                       MOV             R5, R0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBC8 96 48                       LDR             R0, =(__stack_chk_guard_ptr - 0xBBD2)</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBCA 14 46                       MOV             R4, R2</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBCC 0E 46                       MOV             R6, R1</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBCE 78 44                       ADD             R0, PC  ; __stack_chk_guard_ptr</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBD0 D0 F8 00 80                 LDR.W           R8, [R0] ; __stack_chk_guard</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBD4 D8 F8 00 00                 LDR.W           R0, [R8]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBD8 29 90                       STR             R0, [SP,#0xE8+var_44]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBDA 91 ED 02 0A                 VLDR            S0, [R1,#8]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBDE 91 ED 03 1A                 VLDR            S2, [R1,#0xC]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBE2 B8 EE C0 8A                 VCVT.F32.S32    S16, S0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBE6 B8 EE C1 9A                 VCVT.F32.S32    S18, S2</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBEA 95 ED 10 0A                 VLDR            S0, [R5,#0x40]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBEE B8 EE C0 CA                 VCVT.F32.S32    S24, S0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBF2 89 EE 08 BA                 VDIV.F32        S22, S18, S16</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBF6 B1 EE CB AA                 VSQRT.F32       S20, S22</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBFA B0 EE 4A 0A                 VMOV.F32        S0, S20</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BBFE B4 EE CA AA                 VCMPE.F32       S20, S20</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC02 F1 EE 10 FA                 VMRS            APSR_nzcv, FPSCR</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC06 05 D7                       BVC             loc_BC14</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC08 1B EE 10 0A                 VMOV            R0, S22 ; x</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC0C FE F7 B8 E9                 BLX             sqrtf</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC10 00 EE 10 0A                 VMOV            S0, R0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC14</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC14 20 EE 0C 0A                 VMUL.F32        S0, S0, S24</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC18 95 ED 10 1A                 VLDR            S2, [R5,#0x40]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC1C B4 EE CA AA                 VCMPE.F32       S20, S20</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC20 B8 EE C1 CA                 VCVT.F32.S32    S24, S2</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC24 F1 EE 10 FA                 VMRS            APSR_nzcv, FPSCR</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC28 BD EE C0 0A                 VCVT.S32.F32    S0, S0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC2C 10 EE 10 9A                 VMOV            R9, S0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC30 05 D7                       BVC             loc_BC3E</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC32 1B EE 10 0A                 VMOV            R0, S22 ; x</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC36 FE F7 A4 E9                 BLX             sqrtf</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC3A 0A EE 10 0A                 VMOV            S20, R0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC3E</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC3E 8C EE 0A 0A                 VDIV.F32        S0, S24, S20</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC42 D6 E9 02 03                 LDRD.W          R0, R3, [R6,#8]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC46 31 69                       LDR             R1, [R6,#0x10]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC48 1F AE                       ADD             R6, SP, #0xE8+var_6C</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC4A 00 22                       MOVS            R2, #0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC4C BD EE C0 0A                 VCVT.S32.F32    S0, S0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC50 03 92                       STR             R2, [SP,#0xE8+var_DC]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC52 CD E9 00 09                 STRD.W          R0, R9, [SP,#0xE8+var_E8]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC56 30 46                       MOV             R0, R6</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC58 02 22                       MOVS            R2, #2</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC5A 8D ED 02 0A                 VSTR            S0, [SP,#0xE8+var_E0]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC5E 05 F0 C5 F9                 BL              sub_10FEC ; from_pixels_resize</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC62 05 F1 7C 01                 ADD.W           R1, R5, #0x7C ; &#39;|&#39;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC66 30 46                       MOV             R0, R6</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC68 00 22                       MOVS            R2, #0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC6A 01 F0 B1 FC                 BL              sub_D5D0 ; substract_mean_normalize</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC6E 14 A8                       ADD             R0, SP, #0xE8+var_98</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC70 29 46                       MOV             R1, R5</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC72 0D F0 29 F8                 BL              sub_18CC8 ; create_extractor</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC76 D5 F8 88 10                 LDR.W           R1, [R5,#0x88]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC7A 14 A8                       ADD             R0, SP, #0xE8+var_98</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC7C 0E F0 2C FB                 BL              sub_1A2D8 ; set_num_threads</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC80 28 46                       MOV             R0, R5</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC82 10 F8 44 1F                 LDRB.W          R1, [R0,#0x44]!</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC86 C9 07                       LSLS            R1, R1, #0x1F</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC88 0C BF                       ITE EQ</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC8A 41 1C                       ADDEQ           R1, R0, #1</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC8C E9 6C                       LDRNE           R1, [R5,#0x4C]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC8E 14 A8                       ADD             R0, SP, #0xE8+var_98</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC90 1F AA                       ADD             R2, SP, #0xE8+var_6C</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC92 0E F0 27 FB                 BL              sub_1A2E4 ; input</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC96 0A A8                       ADD             R0, SP, #0xE8+var_C0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC98 C0 EF 50 00                 VMOV.I32        Q8, #0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BC9C 00 F1 10 01                 ADD.W           R1, R0, #0x10</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCA0 41 F9 CF 0A                 VST1.64         {D16-D17}, [R1]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCA4 24 21                       MOVS            R1, #0x24 ; &#39;$&#39;</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCA6 40 F9 C1 0A                 VST1.64         {D16-D17}, [R0],R1</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCAA 00 21                       MOVS            R1, #0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCAC 01 60                       STR             R1, [R0]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCAE 28 46                       MOV             R0, R5</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCB0 12 91                       STR             R1, [SP,#0xE8+var_A0]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCB2 10 F8 50 1F                 LDRB.W          R1, [R0,#0x50]!</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCB6 C9 07                       LSLS            R1, R1, #0x1F</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCB8 0C BF                       ITE EQ</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCBA 41 1C                       ADDEQ           R1, R0, #1</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCBC A9 6D                       LDRNE           R1, [R5,#0x58]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCBE 14 A8                       ADD             R0, SP, #0xE8+var_98</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCC0 0A AA                       ADD             R2, SP, #0xE8+var_C0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCC2 0E F0 82 FB                 BL              sub_1A3CA ; extract</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCC6 B7 EE 00 AA                 VMOV.F32        S20, #1.0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCCA 0D F1 10 09                 ADD.W           R9, SP, #0xE8+var_D8</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCCE B6 EE 00 BA                 VMOV.F32        S22, #0.5</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCD2 20 68                       LDR             R0, [R4]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCD4 BF EE 00 CA                 VMOV.F32        S24, #-1.0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCD8 00 26                       MOVS            R6, #0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000BCDA 60 60                       STR             R0, [R4,#4]</span></code></pre></section><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><br/></p><h6 data-source-line="433" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.2.3、Patch关键点过检测</span></h6><p data-source-line="434" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">通过调试分析找到两个关键点，Patch这两个点就能过掉检测：<br style="box-sizing: border-box;"/>人脸检测：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6C8 BF EE 00 CA VMOV.F32        S24, #-1.0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6CC 00 26       MOVS            R6, #0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6CE 60 60       STR             R0, [R4,#4]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6D0 5C E0       B               loc_CC0CC78C</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6D2  // box.confidence = confidence;//人脸分数</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6D2</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6D2 10 9A       LDR             R2, [SP,#0xE8+var_A8]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6D4 0C 99       LDR             R1, [SP,#0xE8+var_B8]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6D6 0A 98       LDR             R0, [SP,#0xE8+var_C0]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6D8 72 43       MULS            R2, R6</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6DA             ; 66:     if ( v11[1] &gt;= *(float *)(a1 + 120) )</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6DA 95 ED 1E 1A VLDR            S2, [R5,#0x78]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6DE 02 FB 01 00 MLA.W           R0, R2, R1, R0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6E2 90 ED 01 0A VLDR            S0, [R0,#4]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6E6 B4 EE C1 0A VCMPE.F32       S0, S2</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6EA F1 EE 10 FA VMRS            APSR_nzcv, FPSCR</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC0CC6EE 4C D4       BMI             loc_CC0CC78A  ; 判断是否为人脸,Patch点1</span></code></pre></section><p data-source-line="434" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">Patch检测是否为人脸，将其Patch永远为真</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000C72C 9B ED 1E 0A                 VLDR            S0, [R11,#0x78]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000C730 B4 EE C0 DA                 VCMPE.F32       S26, S0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000C734 F1 EE 10 FA                 VMRS            APSR_nzcv, FPSCR</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000C738 4C DC                       BGT             loc_C7D4 ; 大于</span></code></pre></section><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">活体检测：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9CA DA F8 30 00 LDR.W           R0, [R10,#0x30]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9CE 83 42       CMP             R3, R0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9D0 FF F6 32 AF BLT.W           loc_CC20D838</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9D4 00 EE 10 0A VMOV            S0, R0                  ; 活体分数Patch点2</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9D8 B8 EE C0 0A VCVT.F32.S32    S0, S0</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9DC 09 98       LDR             R0, [SP,#0x178+var_154] ; 存放活体分数空间</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9DE 88 EE 00 0A VDIV.F32        S0, S16, S0             ; 活体分数</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9E2 80 ED 00 0A VSTR            S0, [R0]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9E6 4D 98       LDR             R0, [SP,#0x178+var_44]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9E8 06 99       LDR             R1, [SP,#0x178+var_160]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9EA 09 68       LDR             R1, [R1]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:CC20D9EC 08 1A       SUBS            R0, R1, R0</span></code></pre></section><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">Patch检测是否为活体，将其Patch永远为真的值</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA40 09 99                       LDR             R1, [SP,#0x178+var_154]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA42 19 48                       LDR             R0, =0x3F7B3380 ; patch值</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA44 08 60                       STR             R0, [R1] ; 存放空间</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA46 4D 99                       LDR             R1, [SP,#0x178+var_44]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA48 06 9A                       LDR             R2, [SP,#0x178+var_160]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA4A 12 68                       LDR             R2, [R2]</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA4C 51 1A                       SUBS            R1, R2, R1</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA4E 01 BF                       ITTTT EQ</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA50 4E B0                       ADDEQ           SP, SP, #0x138</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA52 BD EC 08 8B                 VPOPEQ          {D8-D11}</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA56 01 B0                       ADDEQ           SP, SP, #4</span></code><code><span class="code-snippet_outer" style="font-size: 14px;">.text:0000DA58 BD E8 00 0F                 POPEQ.W         {R8-R11}</span></code></pre></section><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">patch完后我们再用手机中的同一张静态照来试试是否能验证成功？效果如图4-3所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.7583333333333333" data-s="300,640" style="" data-type="gif" data-w="480" src="https://wechat2rss.xlab.app/img-proxy/?k=6b465753&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkOBUWJqmeobMwRq4g44vsmZzOHt4t3sNCc8hL7j8rszCf7ex2OyKmbg%2F640%3Fwx_fmt%3Dgif"/></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                    图4-3</span></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">攻击成功，完美通过。</span></p><h6 data-source-line="496" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">4.2.3、构造特征过检测</span></h6><p data-source-line="497" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">上面通过Patch的方式来过掉检测看起来是很好，但是、但是、但是，当相同的AI模型放在服务器端时，Patch这种方式就失效了，通过前面对模型进行逆向分析,获取模型内部的一些特征数据,所以需要根据分析出来的模型特征构造出一张对抗性图像或视频数据送给服务器端达到攻击模型的目的。<br style="box-sizing: border-box;"/>上面分析活体检测时得到的活体特征，再根据YUV420数据格式将其构造到数据体中，得到一张人眼无法观看只有机器能识别的图像数据，如图4-4、4-5所示:</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.3388704318936877" data-s="300,640" style="" data-type="png" data-w="602" src="https://wechat2rss.xlab.app/img-proxy/?k=ed18fe88&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkLVkfpZibFGdVTvyMCe6HACIZU6LHCVXEdUUgDjqDkoBalZhjkgWOLJg%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                        图4-4</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.41007194244604317" data-s="300,640" style="" data-type="png" data-w="417" src="https://wechat2rss.xlab.app/img-proxy/?k=74d3caf3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkMhicDYzwmU8WqQZGT5LFY0XEg81y2cuavguyYHNRGl4o7lDRnz6rqqw%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                        图4-5<br/></span></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">通过hook摄像头读取方法可以直接将构造好的数据传送给服务器端模型，效果如图4-6所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.7583333333333333" data-s="300,640" style="" data-type="gif" data-w="480" src="https://wechat2rss.xlab.app/img-proxy/?k=76fcf71a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FN0ibNguSP6ibVFB1OEMsnSiaJnBtcMviblMkOdlRB9WqJHyHdnz6F7VibZcjqe6mekjShrTnXia9lJRhHX7SOHwRLiaOw%2F640%3Fwx_fmt%3Dgif"/></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">                        图4-6<br/></span></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;font-size: 14px;">这种方式是不改变目标AI学习系统的情况下，通过构造特定输入样本以完成欺骗目标系统的攻击。我用一张A4纸打印了一张非真人脸图做测试，在没有真人脸的情况下成功通过验证。这其中的根本原因，在于模型没有学到完美的判别规则。虽然图片识别系统一直试图在计算机上模仿人类肉眼视觉功能，但由于人类肉眼视觉机理过于复杂，两个系统在判别物体时依赖的判断规则存在一定差异。因此人类肉眼的判别规则和模型实际学到的判别规则之间的差距，就给了攻击者逃脱模型检测提供可趁之机。</span></p><h3 data-source-line="507" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(0, 82, 255);">五、总结</span></h3><p data-source-line="508" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;">本文主要是最近自己学习人脸识别的一点总结，与小伙伴们分享，有不对的地方请指正。<br style="box-sizing: border-box;"/>主要分为攻击模型计算逻辑与攻击模型本身两种方式，不同的业务场景攻击方案与难易成度不同。<br style="box-sizing: border-box;"/>模型计算逻辑攻击：<br style="box-sizing: border-box;"/>这种攻击方式只适用于离线模型，分析模型计算逻辑进行关键点Patch达到强制绕过验证的目的。<br style="box-sizing: border-box;"/>攻击模型：<br style="box-sizing: border-box;"/>攻击模型和其他攻击不同，攻击模型主要发生在构造对抗性数据的时候，之后该对抗性数据就如正常数据一样输入机器学习模型并得到欺骗的识别结果。在构造对抗性数据的过程中，攻击者并不知道AI所使用的算法和参数，但攻击者仍能与AI系统有所交互，比如可以通过传入任意输入观察输出，判断输出。或者攻击者可以通过逆向分析推导掌握AI模型参数信息。</span></p><p data-source-line="26" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="font-size: 14px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;"><br/></span></p>



<p><a href="2247483950">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=923c2002&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247483950%26idx%3D1%26sn%3Dcce5d815a47313de944a54a48b5be54c%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 30 Jul 2021 12:10:00 +0800</pubDate>
    </item>
    <item>
      <title>ARM平台VMP保护开发入门</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483930&amp;idx=1&amp;sn=b6f835b36dda52a8d1dff073a13a688d</link>
      <description>随着移动端安全开发的升级，移动应用的安全越来越被重视，在PC时代用到的VMP方案也被成功应用到移动端的加固产品中来。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-07-11 12:10</span> <span style="display: inline-block;"></span>
</p>

<p>随着移动端安全开发的升级，移动应用的安全越来越被重视，在PC时代用到的VMP方案也被成功应用到移动端的加固产品中来。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=de074f66&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibXBpVtak4C71YoRAvZs4CPUBKXEm4ic3XGeexslrNPxamP55Jq60z2uMM8eUzVaLNoJPBrW9PHWktg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p data-source-line="1" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">目录</p><pre data-source-line="2" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">一、</span><span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">ARM</span> VMP<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">简介</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">二、框架设计</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">三、文件分析反汇编</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">四、</span>Opcode<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">指令解析与</span>VMCode<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">生成</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">五、增加节区与入口点</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">六、</span>VMP<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">引擎</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">七、总结</span></code></pre><h3 data-source-line="11" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">一、ARM VMP简介</h3><p data-source-line="12" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">ARM VMP是这几年颇为流行的移动端代码指令保护技术，该技术方案大规模应用到软件保护领域最早在PC时代源于俄罗斯的著名保护软件&#34;VmProtect&#34;，该方案引起了软件保护壳领域的革命。各大软件保护壳开发团队都将虚拟机保护这一新颖的技术加入到自己的产品中。但是到目前为止该软件还未对ARM平台支持。<br style="box-sizing: border-box;"/>随着移动端安全开发的升级，移动应用的安全越来越被重视，在PC时代用到的VMP方案也被成功应用到移动端的加固产品中来。<br style="box-sizing: border-box;"/></p><h3 data-source-line="14" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">二、框架设计</h3><p data-source-line="15" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">从加壳的整体流程来看主要分为加壳端与VM引擎端，引擎负责解析VM后的指令。框架主要分为代码分析与代码执行两个部分，如图1-1(ARM VMP加壳流程)与1-2(ARM VMP引擎运行流程)所示：<br style="box-sizing: border-box;"/></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="1.18125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=9d5e559d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibXBpVtak4C71YoRAvZs4CPUE63ZXF9LS75WUrfyltlKJeyzcCJWPmqEjf5EkSBYdfg9xOCPsPTvCQ%2F640%3Fwx_fmt%3Dpng"/></p><p>                                                    图2-1<br/></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="1.096875" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=abd1ba75&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibXBpVtak4C71YoRAvZs4CPUytPI0kv1EHRsSSLCzTEqlCVpDJfa0Qeziar23xegF44ahjjqKFiaJopw%2F640%3Fwx_fmt%3Dpng"/></p><p>                                                图2-2<br/></p><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">本节着重讲解了加壳与VM引擎的模块组成与总体流程设计思想，具体流程讲解在后面分析。</span></p><h3 data-source-line="21" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">三、文件分析反汇编</h3><p data-source-line="22" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">在进行加壳保护之前,首先有一个重要的问题就是保护对象，确认保护对像是要反汇编分析识别出要保护的目标，解析ELF文件格式定位到目标指令，一个标准的ELF文件，是由文件头(ELF Header),程序头(Segment Header)，节头(Section Header),符号表( Symbol Table)，动态符号表(Dynamic Symbol Table)等组成，如下图3-1所示：</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.8416666666666667" data-s="300,640" style="" data-type="png" data-w="720" src="https://wechat2rss.xlab.app/img-proxy/?k=293a77bc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibXBpVtak4C71YoRAvZs4CPUT8rmNY6xpSH3ic5wBAAGnv2b8tr91ViajwQiaATfBd8hcO9RrCVad6okQ%2F640%3Fwx_fmt%3Dpng"/></p><p>                                                图3-1<br/></p><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">反汇编目标指令。代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">void</span> <span class="code-snippet__title">disasm</span><span class="code-snippet__params">(<span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">char</span>* code, <span class="code-snippet__keyword">size_t</span> codesize, <span class="code-snippet__built_in">std</span>::<span class="code-snippet__built_in">vector</span>&lt;<span class="code-snippet__built_in">string</span>&gt;&amp; retcode)</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">std</span>::<span class="code-snippet__built_in">vector</span>&lt;<span class="code-snippet__built_in">string</span>&gt; strcode;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">uint64_t</span> address = <span class="code-snippet__number">0x40001000</span>;</span></code><code><span class="code-snippet_outer">  cs_insn* insn;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> i;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">size_t</span> count;</span></code><code><span class="code-snippet_outer">  cs_err err;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (<span class="code-snippet__literal">NULL</span> == code || codesize &lt;= <span class="code-snippet__number">0</span>) {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span>;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  err = cs_open(CS_ARCH_ARM, CS_MODE_THUMB, &amp;handle);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (err) {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;Failed on cs_open() with error returned: %u\n&#34;</span>, err);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  count = cs_disasm(handle, code, codesize, address, <span class="code-snippet__number">0</span>, &amp;insn);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (count) {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">size_t</span> j;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">char</span> codetemp[<span class="code-snippet__number">50</span>] = {};</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">for</span> (j = <span class="code-snippet__number">0</span>; j &lt; count; j++) {</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;0x%&#34;</span> PRIx64 <span class="code-snippet__string">&#34;:\t%s\t%s\n&#34;</span>, insn[j].address, insn[j].mnemonic, insn[j].op_str);</span></code><code><span class="code-snippet_outer">      sprintf_s(codetemp, <span class="code-snippet__keyword">sizeof</span>(codetemp),<span class="code-snippet__string">&#34;%s %s&#34;</span>, insn[j].mnemonic, insn[j].op_str);</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;frm : %s\n&#34;</span>, codetemp);</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__function"><span class="code-snippet__built_in">string</span> <span class="code-snippet__title">strcodetemp</span><span class="code-snippet__params">(codetemp)</span></span>;</span></code><code><span class="code-snippet_outer">      retcode.push_back(strcodetemp);  </span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    cs_free(insn, count);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;ERROR: Failed to disassemble given code!\n&#34;</span>);</span></code><code><span class="code-snippet_outer">  cs_close(&amp;handle);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span>;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">通过反汇编引擎从代码开头开始遍历。先找函数开头的标记后，接下来找函数结尾，找到后与前一个开头标记进行闭合并记录。遇到其余指令则直接略过。依次循环下去。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">当我们找到了我们的保护对象并将其反汇编后，接下来要做的是将每条汇编指令转换成opcode码，方便后续做VMcoode转换。代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">void</span> <span class="code-snippet__title">assemble_ks</span><span class="code-snippet__params">(<span class="code-snippet__keyword">const</span> <span class="code-snippet__built_in">std</span>::<span class="code-snippet__built_in">vector</span>&lt;<span class="code-snippet__built_in">std</span>::<span class="code-snippet__built_in">string</span>&gt;&amp; code, <span class="code-snippet__built_in">std</span>::<span class="code-snippet__built_in">vector</span>&lt;<span class="code-snippet__keyword">uint32_t</span>&gt;&amp; bycode)</span> </span>{</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">std</span>::<span class="code-snippet__built_in">vector</span>&lt;<span class="code-snippet__keyword">uint32_t</span>&gt; result;</span></code><code><span class="code-snippet_outer">    ks_engine* ks;</span></code><code><span class="code-snippet_outer">    ks_err err;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">size_t</span> count;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">char</span>* encode;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">size_t</span> size;</span></code><code><span class="code-snippet_outer">    ks_arch arch = KS_ARCH_ARM;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">int</span> mode = KS_MODE_THUMB;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span>* assembly;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">int</span> syntax = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">    Pks_open ks_open;</span></code><code><span class="code-snippet_outer">    Pks_option ks_option;</span></code><code><span class="code-snippet_outer">    Pks_asm ks_asm;</span></code><code><span class="code-snippet_outer">    Pks_free ks_free;</span></code><code><span class="code-snippet_outer">    Pks_close ks_close;</span></code><code><span class="code-snippet_outer">    Pks_errno ks_errno;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    HMODULE  keystonedll = LoadLibrary(<span class="code-snippet__string">&#34;keystone.dll&#34;</span>);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (<span class="code-snippet__literal">NULL</span> == keystonedll) {</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">return</span>;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    ks_open = (Pks_open)GetProcAddress(keystonedll, <span class="code-snippet__string">&#34;ks_open&#34;</span>);</span></code><code><span class="code-snippet_outer">    ks_option = (Pks_option)GetProcAddress(keystonedll, <span class="code-snippet__string">&#34;ks_option&#34;</span>);</span></code><code><span class="code-snippet_outer">    ks_asm = (Pks_asm)GetProcAddress(keystonedll, <span class="code-snippet__string">&#34;ks_asm&#34;</span>);</span></code><code><span class="code-snippet_outer">    ks_free = (Pks_free)GetProcAddress(keystonedll, <span class="code-snippet__string">&#34;ks_free&#34;</span>);</span></code><code><span class="code-snippet_outer">    ks_close = (Pks_close)GetProcAddress(keystonedll, <span class="code-snippet__string">&#34;ks_close&#34;</span>);</span></code><code><span class="code-snippet_outer">    ks_errno = (Pks_errno)GetProcAddress(keystonedll, <span class="code-snippet__string">&#34;ks_errno&#34;</span>);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (<span class="code-snippet__literal">NULL</span> == ks_open || <span class="code-snippet__literal">NULL</span> == ks_option || <span class="code-snippet__literal">NULL</span> == ks_asm) {</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">return</span>;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    err = ks_open(arch, mode, &amp;ks);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (err != KS_ERR_OK) {</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;ERROR: failed on ks_open(), quit\n&#34;</span>);</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">return</span>;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (syntax)</span></code><code><span class="code-snippet_outer">      ks_option(ks, KS_OPT_SYNTAX, syntax);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">for</span> (<span class="code-snippet__keyword">int</span> i = <span class="code-snippet__number">0</span>; i &lt; code.size(); i++) {</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__built_in">std</span>::<span class="code-snippet__built_in">string</span> tempcode;</span></code><code><span class="code-snippet_outer">      tempcode = code[i];</span></code><code><span class="code-snippet_outer">      assembly = tempcode.c_str();</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> (ks_asm(ks, assembly, <span class="code-snippet__number">0</span>, &amp;encode, &amp;size, &amp;count)) {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;ERROR: failed on ks_asm() with count = %lu, error code = %u\n&#34;</span>, count, ks_errno(ks));</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">else</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">size_t</span> i;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;%s = &#34;</span>, assembly);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">for</span> (i = <span class="code-snippet__number">0</span>; i &lt; size; i++) {</span></code><code><span class="code-snippet_outer">          <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;%02x &#34;</span>, encode[i]);</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;\n&#34;</span>);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;Assembled: %lu bytes, %lu statements\n\n&#34;</span>, size, count);</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">uint32_t</span> byte_code = *((<span class="code-snippet__keyword">uint32_t</span>*)encode);</span></code><code><span class="code-snippet_outer">      bycode.push_back(byte_code);</span></code><code><span class="code-snippet_outer">      ks_free(encode);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    ks_close(ks);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span>;</span></code><code><span class="code-snippet_outer">  }</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">当分析到具体的指令时，将当前指令的编码，信息，结构以及引用的内存或者数据记录到指令记录结构。</span></p><h3 data-source-line="133" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">四、Opcode指令解析与VMCode生成</h3><p data-source-line="134" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">指令信息分析，主要对每个需要保护的每条指令进行分析，将此条指令的机器码，汇编代码，内存地址，是否引用了数据，以及对标志寄存器与通用寄存器的影响一一列出。<br style="box-sizing: border-box;"/>arm指令一般编码格式和一般语法格式如下图4-1与4-2所示：</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.09197080291970802" data-s="300,640" style="" data-type="png" data-w="685" src="https://wechat2rss.xlab.app/img-proxy/?k=a6f836e4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibXBpVtak4C71YoRAvZs4CPU1WriamMAqxZUFKmZohl26ibZY5Jnlc5tSuNiaULDyjKHdFicFVfMlITPFw%2F640%3Fwx_fmt%3Dpng"/></p><p>                                                图4-1<br/></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.06962962962962962" data-s="300,640" style="" data-type="png" data-w="675" src="https://wechat2rss.xlab.app/img-proxy/?k=b7814c54&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibXBpVtak4C71YoRAvZs4CPUDBktwDAtrzkp3jk8bwLgibcwCTyO6GWBIBHw2BNRfCGV5cBVicxMR55A%2F640%3Fwx_fmt%3Dpng"/></p><p>                                                图4-2<br/></p><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">找到原始的Opcode替换成一个随机产生的OPCODE，默认Opcode的转码规则是采用将Opcode表与Handel通过打乱原有的映射生成的。例如原先“mov R0, 1”指令的硬编码是“4FF001 00”其Opcode部分是“4f”则在转换后有可能变换为“5fF001 00”。代码如下所示：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">DecodedOperation</span> <span class="code-snippet__string">Decoder::decode(uint32_t instr) {</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">DecodedOperation</span> <span class="code-snippet__string">op;</span></span></code><code><span class="code-snippet_outer">    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">op.cond</span> = <span class="code-snippet__string">(instr &amp; 0xF0000000) &gt;&gt; 28;</span></span></code><code><span class="code-snippet_outer">    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">op.i</span> = <span class="code-snippet__string">(instr &gt;&gt; 25) &amp; 1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">op.s</span> = <span class="code-snippet__string">(instr &gt;&gt; 20) &amp; 1;</span></span></code><code><span class="code-snippet_outer">    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">op.code</span>  = <span class="code-snippet__string">(instr &gt;&gt; 21) &amp; 0xF;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">op.reg_d</span> = <span class="code-snippet__string">(instr &gt;&gt; 12) &amp; 0xF;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">op.reg_n</span> = <span class="code-snippet__string">(instr &gt;&gt; 16) &amp; 0xF;</span></span></code><code><span class="code-snippet_outer">    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">(op.i) {</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__meta">op.imm_val</span> = <span class="code-snippet__string">instr &amp; 0x000000FF;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__meta">op.imm_rot</span> = <span class="code-snippet__string">instr &amp; 0x00000F00;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">}</span> <span class="code-snippet__string">else {</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__meta">op.reg_m</span> = <span class="code-snippet__string">instr &amp; 0x0000000F;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__meta">op.reg_s</span> = <span class="code-snippet__string">instr &amp; 0x00000FF0;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">return</span> <span class="code-snippet__string">op;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_i</span> = <span class="code-snippet__string">op.i;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_s</span> = <span class="code-snippet__string">op.s;</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_cond</span> = <span class="code-snippet__string">op.cond;</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_op_code</span>  = <span class="code-snippet__string">op.code;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_op_reg_d</span> = <span class="code-snippet__string">op.reg_d;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_op_reg_n</span> = <span class="code-snippet__string">op.reg_n;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_op_reg_m</span> = <span class="code-snippet__string">op.reg_m;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_op_reg_s</span> = <span class="code-snippet__string">op.reg_s;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_imm_val</span>  = <span class="code-snippet__string">op.imm_val;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">m_imm_rot</span>  = <span class="code-snippet__string">op.imm_rot;</span></span></code></pre></section><h3 data-source-line="177" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">五、增加节区与入口点</h3><p data-source-line="178" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">虚拟机保护会将被保护的代码与数据抹掉替换成VM入口，如果使用静态分析此函数将会一无所获。在虚拟机初始化阶段会使用“VM入口”来填充这个位置。当运行到此函数时，会首先进入“VM入口”。<br style="box-sizing: border-box;"/>VM入口代码，原始指令被替换成如下入口代码：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">mov</span> <span class="code-snippet__string">r0, codeindex //vmcode索引</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">bx</span> <span class="code-snippet__string">vmEntrance</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">添加新节区写入引擎代码与vmcode:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">int</span> <span class="code-snippet__title">addSectionFun</span><span class="code-snippet__params">(<span class="code-snippet__keyword">char</span> *lpPath, <span class="code-snippet__keyword">char</span> *szSecname, <span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span> nNewSecSize)</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">char</span> name[MAX_PATH];</span></code><code><span class="code-snippet_outer">  FILE *fdr, *fdw;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">char</span> *base = <span class="code-snippet__literal">NULL</span>;</span></code><code><span class="code-snippet_outer">  Elf32_Ehdr *ehdr;</span></code><code><span class="code-snippet_outer">  Elf32_Phdr *t_phdr, *load1, *load2, *dynamic;</span></code><code><span class="code-snippet_outer">  Elf32_Shdr *s_hdr;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> flag = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> i = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">unsigned</span> mapSZ = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">unsigned</span> nLoop = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span> nAddInitFun = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span> nNewSecAddr = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span> nModuleBase = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">memset</span>(name, <span class="code-snippet__number">0</span>, <span class="code-snippet__keyword">sizeof</span>(name));</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span>(nNewSecSize == <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  fdr = fopen(lpPath, <span class="code-snippet__string">&#34;rb&#34;</span>);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">strcpy</span>(name, lpPath);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span>(<span class="code-snippet__built_in">strchr</span>(name, <span class="code-snippet__string">&#39;.&#39;</span>))</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">strcpy</span>(<span class="code-snippet__built_in">strchr</span>(name, <span class="code-snippet__string">&#39;.&#39;</span>), <span class="code-snippet__string">&#34;_vm.so&#34;</span>);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">strcat</span>(name, <span class="code-snippet__string">&#34;_new&#34;</span>);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  fdw = fopen(name, <span class="code-snippet__string">&#34;wb&#34;</span>);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span>(fdr == <span class="code-snippet__literal">NULL</span> || fdw == <span class="code-snippet__literal">NULL</span>)</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;Open file failed&#34;</span>);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  fseek(fdr, <span class="code-snippet__number">0</span>, SEEK_END);</span></code><code><span class="code-snippet_outer">  mapSZ = ftell(fdr);</span></code><code><span class="code-snippet_outer">  base = (<span class="code-snippet__keyword">char</span>*)<span class="code-snippet__built_in">malloc</span>(mapSZ * <span class="code-snippet__number">2</span> + nNewSecSize);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">memset</span>(base, <span class="code-snippet__number">0</span>, mapSZ * <span class="code-snippet__number">2</span> + nNewSecSize);</span></code><code><span class="code-snippet_outer">  fseek(fdr, <span class="code-snippet__number">0</span>, SEEK_SET);</span></code><code><span class="code-snippet_outer">  fread(base, <span class="code-snippet__number">1</span>, mapSZ, fdr);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span>(base == (<span class="code-snippet__keyword">void</span>*) <span class="code-snippet__number">-1</span>)</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;fread fd failed&#34;</span>);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">2</span>;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  ehdr = (Elf32_Ehdr*) base;</span></code><code><span class="code-snippet_outer">  t_phdr = (Elf32_Phdr*)(base + <span class="code-snippet__keyword">sizeof</span>(Elf32_Ehdr));</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">for</span>(i=<span class="code-snippet__number">0</span>;i&lt;ehdr-&gt;e_phnum;i++)</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span>(t_phdr-&gt;p_type == PT_LOAD)</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span>(flag == <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        load1 = t_phdr;</span></code><code><span class="code-snippet_outer">        flag = <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">        nModuleBase = load1-&gt;p_vaddr;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        load2 = t_phdr;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span>(t_phdr-&gt;p_type == PT_DYNAMIC)</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      dynamic = t_phdr;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    t_phdr ++;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  s_hdr = (Elf32_Shdr*)(base + ehdr-&gt;e_shoff);</span></code><code><span class="code-snippet_outer">  nNewSecAddr = ALIGN(load2-&gt;p_paddr + load2-&gt;p_memsz - nModuleBase, load2-&gt;p_align);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span>(load1-&gt;p_filesz &lt; ALIGN(load2-&gt;p_paddr + load2-&gt;p_memsz, load2-&gt;p_align) )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span>( (ehdr-&gt;e_shoff + <span class="code-snippet__keyword">sizeof</span>(Elf32_Shdr) * ehdr-&gt;e_shnum) != mapSZ)</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span>(mapSZ + <span class="code-snippet__keyword">sizeof</span>(Elf32_Shdr) * (ehdr-&gt;e_shnum + <span class="code-snippet__number">1</span>) &gt; nNewSecAddr)</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">printf</span>(<span class="code-snippet__string">&#34;添加节区失败\n&#34;</span>);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">3</span>;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">memcpy</span>(base + mapSZ, base + ehdr-&gt;e_shoff, <span class="code-snippet__keyword">sizeof</span>(Elf32_Shdr) * ehdr-&gt;e_shnum);</span></code><code><span class="code-snippet_outer">        ehdr-&gt;e_shoff = mapSZ;</span></code><code><span class="code-snippet_outer">        mapSZ += <span class="code-snippet__keyword">sizeof</span>(Elf32_Shdr) * ehdr-&gt;e_shnum;</span></code><code><span class="code-snippet_outer">        s_hdr = (Elf32_Shdr*)(base + ehdr-&gt;e_shoff);</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    nNewSecAddr = load1-&gt;p_filesz;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> nWriteLen = nNewSecAddr + ALIGN(<span class="code-snippet__built_in">strlen</span>(szSecname) + <span class="code-snippet__number">1</span>, <span class="code-snippet__number">0x10</span>) + nNewSecSize;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">char</span> *lpWriteBuf = (<span class="code-snippet__keyword">char</span> *)<span class="code-snippet__built_in">malloc</span>(nWriteLen);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">memset</span>(lpWriteBuf, <span class="code-snippet__number">0</span>, nWriteLen);</span></code><code><span class="code-snippet_outer">  s_hdr[ehdr-&gt;e_shstrndx].sh_size = nNewSecAddr - s_hdr[ehdr-&gt;e_shstrndx].sh_offset + <span class="code-snippet__built_in">strlen</span>(szSecname) + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">strcpy</span>(lpWriteBuf + nNewSecAddr, szSecname);</span></code><code><span class="code-snippet_outer">  </span></code><code><span class="code-snippet_outer">  </span></code><code><span class="code-snippet_outer">  Elf32_Shdr newSecShdr = {<span class="code-snippet__number">0</span>};</span></code><code><span class="code-snippet_outer">  newSecShdr.sh_name = nNewSecAddr - s_hdr[ehdr-&gt;e_shstrndx].sh_offset;</span></code><code><span class="code-snippet_outer">  newSecShdr.sh_type = SHT_PROGBITS;</span></code><code><span class="code-snippet_outer">  newSecShdr.sh_flags = SHF_WRITE | SHF_ALLOC | SHF_EXECINSTR;</span></code><code><span class="code-snippet_outer">  nNewSecAddr += ALIGN(<span class="code-snippet__built_in">strlen</span>(szSecname) + <span class="code-snippet__number">1</span>, <span class="code-snippet__number">0x10</span>);</span></code><code><span class="code-snippet_outer">  newSecShdr.sh_size = nNewSecSize;</span></code><code><span class="code-snippet_outer">  newSecShdr.sh_offset = nNewSecAddr;</span></code><code><span class="code-snippet_outer">  newSecShdr.sh_addr = nNewSecAddr + nModuleBase;</span></code><code><span class="code-snippet_outer">  newSecShdr.sh_addralign = <span class="code-snippet__number">4</span>;</span></code><code><span class="code-snippet_outer">  load1-&gt;p_filesz = nWriteLen;</span></code><code><span class="code-snippet_outer">  load1-&gt;p_memsz = nNewSecAddr + nNewSecSize;</span></code><code><span class="code-snippet_outer">  load1-&gt;p_flags = <span class="code-snippet__number">7</span>;    <span class="code-snippet__comment">//可读 可写 可执行</span></span></code><code><span class="code-snippet_outer">  ehdr-&gt;e_shnum++;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">memcpy</span>(lpWriteBuf, base, mapSZ);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">memcpy</span>(lpWriteBuf + mapSZ, &amp;newSecShdr, <span class="code-snippet__keyword">sizeof</span>(Elf32_Shdr));</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  </span></code><code><span class="code-snippet_outer">  fseek(fdw, <span class="code-snippet__number">0</span>, SEEK_SET);</span></code><code><span class="code-snippet_outer">  fwrite(lpWriteBuf, <span class="code-snippet__number">1</span>, nWriteLen, fdw);</span></code><code><span class="code-snippet_outer">  fclose(fdw);</span></code><code><span class="code-snippet_outer">  fclose(fdr);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">free</span>(base);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">free</span>(lpWriteBuf);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h3 data-source-line="316" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">六、VMP引擎</h3><p data-source-line="317" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">VMcode定义完后，就可以开始实现解释VMcode的解释器了。解释器我们需要实现一个虚拟环境以及各个VMcode对应的handle函数。虚拟环境则是真实物理机的一个虚拟，是自己定义的字节码运行的环境。<br style="box-sizing: border-box;"/>主要有如下步骤：<br style="box-sizing: border-box;"/>1、进入vm_start：<br style="box-sizing: border-box;"/>虚拟机的入口函数，对虚拟机环境进行初始化<br style="box-sizing: border-box;"/>2、vm_dispatcher:<br style="box-sizing: border-box;"/>调度器，解释opcode，并选择对应的handle函数执行，当handle执行完后会跳回这里，形成一个循环。<br style="box-sizing: border-box;"/>3、opcode :<br style="box-sizing: border-box;"/>程序可执行代码转换成的操作码<br style="box-sizing: border-box;"/>虚拟机执行的基本流程如图6-1所示：</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.4376321353065539" data-s="300,640" style="" data-type="png" data-w="946" src="https://wechat2rss.xlab.app/img-proxy/?k=b5787e32&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibXBpVtak4C71YoRAvZs4CPUKNZMjl2loiadABZhMPricMUooLtAhow1R3LRkZCpZK7Y5aZ9sib4Jxtfg%2F640%3Fwx_fmt%3Dpng"/></p><p>                                                图6-1<br/></p><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">代码如下所示：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__keyword">void</span> VirtualMachine::execute() {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">uint32_t</span> *op_dest = &amp;m_registers[ m_op_reg_d ];</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">uint32_t</span> op_a = m_registers[ m_op_reg_n ];</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">uint32_t</span> op_b = m_registers[ m_op_reg_m ];</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (m_i) {</span></code><code><span class="code-snippet_outer">        op_b = m_imm_val;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">switch</span> (m_op_code) {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_AND:</span></code><code><span class="code-snippet_outer">            *op_dest = op_a &amp; op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_EOR:</span></code><code><span class="code-snippet_outer">            *op_dest = op_a ^ op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_SUB:</span></code><code><span class="code-snippet_outer">            *op_dest = op_a - op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_RSB:</span></code><code><span class="code-snippet_outer">            *op_dest = op_b - op_a;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_ADD:</span></code><code><span class="code-snippet_outer">            *op_dest = op_a + op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_ADC:</span></code><code><span class="code-snippet_outer">            *op_dest = op_a + op_b + m_carry;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_SBC:</span></code><code><span class="code-snippet_outer">            *op_dest = op_a - op_b + m_carry - <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_RSC:</span></code><code><span class="code-snippet_outer">            *op_dest = op_b - op_a + m_carry - <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_TST:</span></code><code><span class="code-snippet_outer">            m_reg_cpsr = op_a &amp; op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_TEQ:</span></code><code><span class="code-snippet_outer">            m_reg_cpsr = op_a ^ op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_CMP:</span></code><code><span class="code-snippet_outer">            m_reg_cpsr = op_a - op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_CMN:</span></code><code><span class="code-snippet_outer">            m_reg_cpsr = op_a + op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_ORR:</span></code><code><span class="code-snippet_outer">            *op_dest = op_a | op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_MOV:</span></code><code><span class="code-snippet_outer">            *op_dest = op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_BIC:</span></code><code><span class="code-snippet_outer">            *op_dest = op_a &amp; (~ op_b);</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">case</span> Instruction::OP_MVN:</span></code><code><span class="code-snippet_outer">            *op_dest = ~ op_b;</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">default</span>:</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">uint32_t</span> VirtualMachine::run(<span class="code-snippet__built_in">std</span>::<span class="code-snippet__built_in">vector</span>&lt;<span class="code-snippet__keyword">uint32_t</span>&gt; instructions) {</span></code><code><span class="code-snippet_outer">    *m_reg_pc = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">    m_running = <span class="code-snippet__literal">true</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">while</span> (m_running) {</span></code><code><span class="code-snippet_outer">        show_registers();</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">uint32_t</span> instr = fetch(instructions);</span></code><code><span class="code-snippet_outer">        decode(instr);</span></code><code><span class="code-snippet_outer">        execute();</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h3 data-source-line="408" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">七、总结</h3><p data-source-line="409" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">由于VMP方案的原因，大部分使用VMP场景时都考虑到效率问题，一般的程序都是只对一些核心算法进行了VMP,以达到防逆向分析或破解的目的。<br style="box-sizing: border-box;"/>一个好的VMP保护产品需要考虑很多方面，安全、性能、兼容、易用等，其中代码分析引擎、虚拟机引擎保护做得好与否直接关系到产品的稳定性。</p><p><br/></p>



<p><a href="2247483930">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=13581425&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247483930%26idx%3D1%26sn%3Db6f835b36dda52a8d1dff073a13a688d%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sun, 11 Jul 2021 12:10:00 +0800</pubDate>
    </item>
    <item>
      <title>移动APP隐私合规检测解决方案初探</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483918&amp;idx=1&amp;sn=aeb3daea7498c6a4c1ff9c19700c7c2f</link>
      <description>中央网信办、工信部、公安部及市场监管总局四部门联合发布了《关于开展App违法违规收集使用个人信息专项治理的公告》，预示着我国在APP隐私层面的治理进入了一个新的高度，期间部分APP采集隐私数据受到了严重处罚。用户权益保护越来越被重视。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-04-27 18:00</span> <span style="display: inline-block;"></span>
</p>

<p>中央网信办、工信部、公安部及市场监管总局四部门联合发布了《关于开展App违法违规收集使用个人信息专项治理的公告》，预示着我国在APP隐私层面的治理进入了一个新的高度，期间部分APP采集隐私数据受到了严重处罚。用户权益保护越来越被重视。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=352c14cb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWdiaofibNvjDZWUukTg8S0ByQo0ecQfNcMricoJvULLrOXbnHvbDoeGNE3NnovibfvtBY190EDnfbZZQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p data-source-line="1" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">目录:</p><pre data-source-line="2" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">一、背景与应用场景介绍</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">二、企业</span><span style="box-sizing: border-box;font-weight: bold;">APP</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">面临的问题</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">三、个人面临的问题</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">四、解决方案</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">五、未来展望与总结</span></code></pre><h3 data-source-line="10" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">一、背景与应用场景介绍</h3><h5 data-source-line="11" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">1.1、国家对个人隐私保护越来越重视</h5><p data-source-line="12" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">2019年初，中央网信办、工信部、公安部及市场监管总局四部门联合发布了《关于开展App违法违规收集使用个人信息专项治理的公告》，预示着我国在APP隐私层面的治理进入了一个新的高度，期间部分APP采集隐私数据受到了严重处罚。<br style="box-sizing: border-box;"/>如图1-1所示，每年各部门发布的相关个人信息范围规定文件可以看出个人信息安全和用户权益保护越来越被重视。</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.55078125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8559a8fc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibWdiaofibNvjDZWUukTg8S0Byhtrwn5hs1aKlQ7UsBrf40zkHxHN8Wq2lyGoawhSNhhnt8UXtOPZ4Kg%2F640%3Fwx_fmt%3Dpng"/></p><p>图1-1</p><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">各监管部门不断开展APP专项治理工作及核查通报，不合规的APP通知整改或直接下架。</span></p><h5 data-source-line="17" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">1.2、应用场景</h5><h6 data-source-line="18" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">企业：</h6><p data-source-line="19" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">针对企业开发的移动应用中收集个人信息行为是否存在违法违规进行认定并提供参考，为企业APP运营者自查自纠提供指引，移动应用个人信息安全提供多方位全面体检，APP是否合规等问题的深度检测，及时发现应用存在的潜在风险与不合规之处，帮助企业对APP隐私、过度收集、滥用等行为进行检测，高效、低成本地做APP合规自查形成专业并易理解的检测报告，为移动应用运营者提供专业的合规、安全提供整改依据。<br style="box-sizing: border-box;"/></p><h6 data-source-line="21" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">个人：</h6><p data-source-line="22" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">现在我们的日常工作生活基本都离不开手机，无论是购物、点外卖、工作还是娱乐，都需要用到各种互联网公司开发的APP，但是其中的用户安全隐私问题，悄然的浮现了出来，很多APP能监听用户内容上传到服务器，然后发放精准广告，没有隐私可言。所以普通人如果要发现自己使用的APP是否有问题就需要借助能检测出问题的工具或平台。</p><h3 data-source-line="23" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">二、企业APP面临的问题</h3><h5 data-source-line="24" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">2.1、来自多方面的风险</h5><h6 data-source-line="25" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">企业APP的直接开发者：</h6><pre data-source-line="26" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">自研企业移动应用</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">第三方业务应用</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">多方协同开发业务应用</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">基于第三方开源应用。</span><br/></code></pre><h6 data-source-line="32" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">第三方SDK引用:</h6><pre data-source-line="33" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">推送类</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">地图类</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">认证识别</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">登录分享</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">短信验证</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">即时通讯</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">支付类</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">自动更新</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">直播类</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">音视频多媒体</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">安全键盘</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">埋点统计</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">开发框架</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">游戏</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">······</span><br/></code></pre><h6 data-source-line="50" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">风险分类</h6><p data-source-line="51" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">风险主要为三类：个人隐私、安全漏洞<br style="box-sizing: border-box;"/>过度收集用户个人信息:<br style="box-sizing: border-box;"/>无论是第三方SDK，还是是企业自研移动应用，均存在对个人信息过度获取、泄露、滥用等安全 问题，（如摄像头、存储读写、麦克风、位置、短信读取等)。<br style="box-sizing: border-box;"/>存在代码安全与漏洞:<br style="box-sizing: border-box;"/>引用的第三方SDK、自研移动应用安全审查过程缺乏，安全意识薄弱，造成移动应用代码存在未知安全漏洞。<br style="box-sizing: border-box;"/></p><h5 data-source-line="57" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">2.2、对企业APP的影响</h5><p data-source-line="58" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">过度收集信息APP下架造成业务不能正常推进、影响企业品牌信誉。<br style="box-sizing: border-box;"/></p><h5 data-source-line="59" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">2.3、浪费人力资源与时间</h5><p data-source-line="60" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">目前很多企业检测APP主要是通过读源代码方法将有关API标记为敏感，这显然很不合理。这种方法大多是依赖于人工、开发人员或分析师手动标记敏感的内容，这需要大量的人工干预，而工作跟不上就会导致安全风险存在。这种方式是非常低效的，成本也很高。<br style="box-sizing: border-box;"/></p><h3 data-source-line="61" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">三、个人面临的问题</h3><h5 data-source-line="62" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">3.1、信息被过度采集</h5><p data-source-line="63" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">可能你听过或自身也遇到过以下这些场景，比如刚刚在聊天的时候提到某件商品的名字，在打开电商平台的时候，满屏都是这种商品的身影，就会接收到相应的广告，在论坛上面交流某款游戏，转头过来就在论坛推送的广告上看到这款游戏的名字等等。是否在我输入交易密码时会被记录上传?这到底是谁泄的密？对于个人而言只能感叹“我们还有隐私么？&#34;<br style="box-sizing: border-box;"/>大多对APP在手机上用户隐私的定义主要集中在操作系统预定义的敏感API上，如设备标识符，电话号码，IMEI、MAC等、GPS位置信息、通讯录、短信、浏览器信息等，主要采取了权限保护的手段。这些的确是非常重要的用户隐私，但是并没有覆盖所有的用户隐私和敏感数据。在很大程度上忽视了一个非常重要的用户隐私来源——用户输入隐私。App通常通过用户界面让用户输入一些信息，而这些信息就包括了登录凭证、财务信息、医疗信息等敏感数据。因此要在APP中保护用户隐私，就必须很好的处理这些用户输入数据。<br style="box-sizing: border-box;"/></p><h5 data-source-line="65" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">3.2、恶意操作行为</h5><p data-source-line="66" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">第三方SDK可能借助合法的宿主APP执行恶意的操作：静默安装其他APP、上传业务数据、获取用户隐私数据上报云端、监听用户、恶意推送信息等。<br style="box-sizing: border-box;"/>某些应用为了对抗自动化安全分析，只有在用户特定的情形下才触发隐私收集事件，比如某输入法。没有完整的逻辑逆向分析很难发现其行为。<br style="box-sizing: border-box;"/></p><h3 data-source-line="68" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">四、解决方案</h3><h5 data-source-line="69" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">4.1、方案介绍</h5><p data-source-line="70" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">方案主要分成两部分：<br style="box-sizing: border-box;"/>第一：企业APP发版时针对应用中收集个人信息行为是否存在违法违规进行认定并提供参考，为APP运营者自查自纠提供指引。<br style="box-sizing: border-box;"/>第二：及时发现个人手机上APP获取信息合规问题及准确定位，提前发现应用中个人信息的安全、合规风险，并准确定位问题出现的源头，对获取隐私的应用提出预警提示。<br style="box-sizing: border-box;"/></p><h5 data-source-line="73" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">4.2、整体架构</h5><p data-source-line="74" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">架构分为移动端与服务器端，如图4-2所示：</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.7328125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=b6585d0a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibWdiaofibNvjDZWUukTg8S0ByKmOIQQlDFCl0zHfoU5gtbFeSk9QjzGNHaFJcVyEibGn7zaic6zQ5Kibyw%2F640%3Fwx_fmt%3Dpng"/></p><p>图4-2</p><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">安全沙箱是指建立一个隔离的运行环境，在里面直接运行第三方App，这种技术方案为解决上述某些APP在特定条件下才收集用户隐私的事件监控，因为只在服务器端自动化分析场景比较单一，某些有做安全处理的APP会逃过检测，很难发现它的恶意行为。</span></p><h5 data-source-line="78" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">4.3、核心功能介绍</h5><h6 data-source-line="79" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">威胁行为类型</h6><p data-source-line="80" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">常见的威胁类型如图4-3所示：</p><p data-source-line="80" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><img class="rich_pages js_insertlocalimg" data-ratio="1.513064133016627" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -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: 17px;" data-type="png" data-w="421" src="https://wechat2rss.xlab.app/img-proxy/?k=580e642b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibWdiaofibNvjDZWUukTg8S0ByurFUD9BHB2yybiclibbM0odkwNu7XkB975x0LdL83Vrt1MI2eHfhxBmw%2F640%3Fwx_fmt%3Dpng"/><img class="rich_pages js_insertlocalimg" data-ratio="1.777262180974478" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -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: 17px;" data-type="png" data-w="431" src="https://wechat2rss.xlab.app/img-proxy/?k=af10e77d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibWdiaofibNvjDZWUukTg8S0ByjRRknWmlgSjstcMF7ekeNibPPaDkzI7B9FjMOPT1pr8YbicicweAqF6fw%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="80" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">图4-3</span></p><h6 data-source-line="84" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">移动端：</h6><p data-source-line="85" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">移动端主要负责监控用户界面输入的内容隐私，例如，伪装成银行应用的APP来骗取用户的财务信息。设备方面的敏感数据是操作系统给出的，例如位置、硬件号信息，保护此类隐私数据可以利用系统API来设置安全标签，对其进行保护APP执行时API、网络接口监控，特定行为监控。<br style="box-sizing: border-box;"/></p><h6 data-source-line="86" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">云端：</h6><p data-source-line="87" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">云端主要对APP进行通用类型的隐私接口进行检测，脚本自动化静态与动态分析APP的行为，APP执行时API、网络接口监控。<br style="box-sizing: border-box;"/></p><h3 data-source-line="88" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">五、未来展望与总结</h3><h5 data-source-line="89" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">5.1、难点与挑战</h5><p data-source-line="90" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">难点与挑战主要来自三个方面：<br style="box-sizing: border-box;"/>1、识别用户输入的隐私<br style="box-sizing: border-box;"/>如何识别输入文字、语音、图片是敏感的?人眼可以很轻易的识别用户输入隐私，但对机器来说大规模精准识别是很难的。由于用户输入隐私是高度非结构化的数据，因此无法在用户输入过程中用正则表达式来识别。用传统的静态检测技术同样也是不切实际的，因为在代码语义中，隐私输入和其他普通输入并没有显著的区别。<br style="box-sizing: border-box;"/>2、有安全防护的APP<br style="box-sizing: border-box;"/>某些APP将收集隐私部分的代码进行VMP虚拟机保护、Java2C保护、防Hook等，需要二进制文件逆向、动态调试、反汇编等，增加分析难度与成本。<br style="box-sizing: border-box;"/>3、准确理解APP隐私声明<br style="box-sizing: border-box;"/>如果要保证APP隐私政策识别准确性可以在检测时人工介入，但是成本高、周期慢，提升效率的方法可以使用机器学习算法对隐私声明进行阅读训练。但是准确性可能达不到。<br style="box-sizing: border-box;"/></p><h5 data-source-line="97" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">5.2、权利交给用户</h5><p data-source-line="98" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">最基本的智能是依赖于数据，如果用户想要享受更加智能的体验，那么在享受着智能来便利的同时，也会失去更多的隐私，相应地也会收到更加精准的广告投放。这是目前大多数APP做智能推荐的一个大逻辑。<br style="box-sizing: border-box;"/>哪可不可能在应用内让用户可以设置隐私保护模式，在不影响用户正常使用的前提下开启隐私保护模式，开启隐私模式后用户的数据不会被上传到云端，以此保证用户个人隐私安全。<br style="box-sizing: border-box;"/></p><h5 data-source-line="100" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">5.3、总结</h5><p data-source-line="101" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">任何事物都有其两面性，“这是一个智能的年代，也是一个没有隐私的年代”，鱼和熊掌不可兼得，比如输入法其实就是一个游走在隐私和智能之间的产品。如果用户想要享受更加智能的输入法体验，那么在用户享受着云端联想词库带来便利的同时，也会被更加精准的广告投放与更多隐私问题。</p><p style="text-align: center;"><br/></p>



<p><a href="2247483918">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=07e3009c&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247483918%26idx%3D1%26sn%3Daeb3daea7498c6a4c1ff9c19700c7c2f%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 27 Apr 2021 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>梆梆APP加固产品方案浅析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483909&amp;idx=1&amp;sn=596a4c89999923bb82331c5e34399d61</link>
      <description>移动APP越来越普及，大多业务己放到APP中完 成，带来的安全隐患也越来越突出，漏洞、APP破解、恶意代码植入、广告植入、病毒木马、支付篡改、数据爬取等安全问题。在发版前可通过对APP进行安全检测，加固APP可以提高安全性，解决大部分风险。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-03-17 12:00</span> <span style="display: inline-block;"></span>
</p>

<p>移动APP越来越普及，大多业务己放到APP中完 成，带来的安全隐患也越来越突出，漏洞、APP破解、恶意代码植入、广告植入、病毒木马、支付篡改、数据爬取等安全问题。在发版前可通过对APP进行安全检测，加固APP可以提高安全性，解决大部分风险。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=52f813af&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibVlzsOFs7n622VnpXYKDg7sRicqxJqFEI2rfWVqUbYL32Jt6wJ3LlSWsOka2QNyQb3o8JnDkRGjuxw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p data-source-line="1" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">目录:</p><pre data-source-line="2" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">一、</span><span style="box-sizing: border-box;font-weight: bold;">APP</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">加固背景</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">二、</span><span style="box-sizing: border-box;font-weight: bold;">APP</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">加固前世今生</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">三、整体框架</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">四、详细流程分析</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">五、总结</span></code></pre><h4 data-source-line="9" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">一、APP加固背景</h4><h5 data-source-line="10" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">1.1、概述</h5><p data-source-line="11" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Android系统是基于Linux开发己具有其开放性、自由性的一种操作系统，现主要应用于移动设备，如手机、平板电脑和车载系统等。从2007年Google推出第一代Android操作系统至今已有10多年的时间，移动行业的市场份额与规模也在急速增长，现在几乎每人都在用或曾用过接触过Android智能手机。<br style="box-sizing: border-box;"/></p><h5 data-source-line="12" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">1.2、安全问题</h5><p data-source-line="13" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">移动APP越来越普及，大多业务己放到APP中完 成，带来的安全隐患也越来越突出，漏洞、APP破解、恶意代码植入、广告植入、病毒木马、支付篡改、数据爬取等安全问题。<br style="box-sizing: border-box;"/>在发版前可通过对APP进行安全检测，加固APP可以提高安全性，解决大部分风险。<br style="box-sizing: border-box;"/></p><h4 data-source-line="15" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">二、APP加固前世今生</h4><h5 data-source-line="16" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">2.1、APP加固发展与现状</h5><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">App加固技术，前后经历了四代技术变更，保护级别在每一代都有所提升，破解成本也越来超高，发展流程大致如图2-1所示:</p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><img class="rich_pages js_insertlocalimg" data-ratio="0.5463137996219282" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -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: 17px;" data-type="png" data-w="529" src="https://wechat2rss.xlab.app/img-proxy/?k=18df0ac2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVlzsOFs7n622VnpXYKDg7s0upuKo634j7mI1ib9sHkPjibvDRRAowAXr61m5zN2uNweZ2mTFTAnuDA%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">                                图2-1<br/></p><h6 data-source-line="20" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">第一代加固技术(动态加载):</h6><p data-source-line="21" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">第一代Android加固技术用于保护应用的逻辑不被逆向与分析，最早普遍在恶意软件中使用，其主要基于虚拟机提供的动态加载技术。<br style="box-sizing: border-box;"/>缺陷:只能对抗静态分析，无法对抗攻击者通过动态调试或自定义虚拟机进行脱壳。<br style="box-sizing: border-box;"/></p><h6 data-source-line="23" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">第二代加固技术(内存加载):</h6><p data-source-line="24" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">第二代加固技术在APK修改方面已经完善，能做到对开发的零干扰。开发过程中不需要对应用做特殊处理，只需要在最终发布前进行保护即可。而为了实现这个零干扰的流程，Loader需要处理好Android的组件的生命周期。hook读写等方法，读写文件时进行加解密。<br style="box-sizing: border-box;"/>缺陷:只能对抗静态分析，无法对抗攻击者通过动态调试、内存dump或自定义虚拟机进行脱壳。<br style="box-sizing: border-box;"/></p><h6 data-source-line="26" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">第三代加固技术(指令抽取):</h6><p data-source-line="27" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">第三代加固技术对Dex中代码的方法名和方法体进行分离，并对分离的方法体进行加密，通过Hook虚拟机方法，在程序运行的同时对方法进行解密运行。这种保护技术有效的防止了破解者通过内存dump的方式获取明文dex，将保护级别降到了函数级别。<br style="box-sizing: border-box;"/>缺陷:无法对抗攻击者通过自定义Android虚拟机进行脱壳。<br style="box-sizing: border-box;"/></p><h6 data-source-line="29" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">第四代加固技术(java2C/VMP):</h6><p data-source-line="30" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">第四代加固技术对DEX中方法提取并转化成native方法后在底层进行注册，在调用native方法的同时在底层使用自定义解释器解释虚拟机指令。<br style="box-sizing: border-box;"/>java2c是将DEX文件内的函数被标记为native，内容被抽离并转换成一个符合JNI要求的动态库。动态库内通过JNI方法和Android系统进行交互。<br style="box-sizing: border-box;"/>缺陷：不论VMP还是java2c，都必须通过虚拟机提供的JNI接口与虚拟机进行交互，攻击者可以直接hook系统JNI接口、记录和分析执行流程，进而推断出完整DEX程序。</p><h5 data-source-line="33" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">2.1、产品介绍</h5><p data-source-line="34" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">梆梆加固产品主要分为免费版与定制版，应用场景如下：<br style="box-sizing: border-box;"/></p><h6 data-source-line="35" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">防逆向（Anti-RE） :</h6><p data-source-line="36" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">抽取classes.dex中的所有代码，剥离敏感函数功能，混淆关键逻辑代码，整体文件深度加密加壳，防止通过apktool，dex2jar，JEB等静态工具来查看应用的Java层代码，防止通过IDA，readelf等工具对so里面的逻辑进行分析，保护native代码。</p><h6 data-source-line="37" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">防篡改（Anti-tamper）</h6><p data-source-line="38" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">每个代码文件、资源文件、配置文件都会分配唯一识别指纹，替换任何一个文件，将会导致应用无法运行，存档替换、病毒广告植入、内购破解、功能屏蔽等恶意行为将无法实施。</p><h6 data-source-line="39" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">防调试（Anti-debug）</h6><p data-source-line="40" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">多重加密技术防止代码注入，彻底屏蔽游戏外挂、应用辅助工具，避免钓鱼攻击、交易劫持、数据修改等调试行为。</p><h6 data-source-line="41" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">防窃取（Storage Encryption）</h6><p data-source-line="42" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">支持存储数据加密，提供输入键盘保护、通讯协议加密、内存数据变换、异常进程动态跟踪等安防技术，有效防止针对应用动、静态数据的捕获、劫持和篡改。免费版与定制版本区别如图2-2所示：</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.8707482993197279" data-s="300,640" style="" data-type="png" data-w="882" src="https://wechat2rss.xlab.app/img-proxy/?k=de98e45a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVlzsOFs7n622VnpXYKDg7sbVbt4sShz9JwPRAiaboyrrMRf6W4tSQzyr8tQOfhMCESlKwqUyCqaqA%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">                        图2-2<br/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">免费版本相对于定制化加固在安全能力方面要弱很多，我们分析的目标是定制版本的加固。</span></p><h4 data-source-line="47" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">三、整体框架</h4><p data-source-line="48" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">梆梆定制版加固保护代码的方式主要分为两种，一是指令抽取，二是指令虚拟化，指令还原与虚拟化基本的流程与逻辑如图3-1所示：</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="3.910360884749709" data-s="300,640" style="" data-type="png" data-w="859" src="https://wechat2rss.xlab.app/img-proxy/?k=966fe65c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVlzsOFs7n622VnpXYKDg7suQFJ69ecDH6XlKRvhgc3uCto1UrpSbk9ic5NxNG4xjFibEW1nJ1txGww%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">                        图3-1<br/></p><h4 data-source-line="51" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">四、详细流程分析</h4><h5 data-source-line="52" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">4.1 加固后APP基本情况介绍</h5><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">通过JEB反编译DUMP出来的DEX，方法指令抽取与指令虚拟化后如图4-1与4-2所示，方法指令抽取后的结果如图4-1所示：</p><p data-source-line="53" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><img class="rich_pages js_insertlocalimg" data-ratio="0.8512241054613936" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -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: 17px;" data-type="png" data-w="531" src="https://wechat2rss.xlab.app/img-proxy/?k=3199d6b1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVlzsOFs7n622VnpXYKDg7sxUeGGRavboxbzd9sjzmh36yWyKLTq3nZKcjBMB9d92B80PpNPrg6jQ%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">                        图4-1<br/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">方法指令虚拟化后大部分函数是调用JniLib.cV解析执行的，最后一个参数是一个函数code索引，用来查找被虚拟化后的指令，其它是方法参数，如图4-2所示：</span></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.8080645161290323" data-s="300,640" style="" data-type="png" data-w="620" src="https://wechat2rss.xlab.app/img-proxy/?k=72a98bb3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVlzsOFs7n622VnpXYKDg7srPbjIQWnfUDkF5v8ib8F7Y2ycaYSfW10ANlezx49iapIXTjNxJRNGicPA%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">                        图4-2<br/></p><h5 data-source-line="59" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">4.2 So壳简单分析</h5><p data-source-line="60" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">壳的SO文件本身做了加壳保护，壳入口为.init_proc，如图4-3所示：</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.6759776536312849" data-s="300,640" style="" data-type="png" data-w="716" src="https://wechat2rss.xlab.app/img-proxy/?k=8227a4a1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVlzsOFs7n622VnpXYKDg7s9Qcx28mdJq5icAMuk5mQ3OrPZ7Drhj4KonCibibqiaQB7qRa559XZHabbQ%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">                        图4-3<br/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">解壳流程如大致为获取加密的代码基址-&gt;解密-&gt;修改属性，解密代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">define</span> CODE_DATA_SIZE 0X00053DB3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">define</span> CODE_DATA_OFFSET 0XE500</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">int</span> <span class="code-snippet__title">DecCode</span><span class="code-snippet__params">(<span class="code-snippet__keyword">int</span> copydata, <span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span> datasize, <span class="code-snippet__keyword">int</span> codebufer, <span class="code-snippet__keyword">int</span>* a4)</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  index_2 = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  v5 = <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">  index = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  v7 = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">while</span> (<span class="code-snippet__number">1</span>)</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">while</span> (<span class="code-snippet__number">1</span>)</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v8 = (v7 &amp; <span class="code-snippet__number">0x7F</span>) == <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ((v7 &amp; <span class="code-snippet__number">0x7F</span>) != <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">        v7 *= <span class="code-snippet__number">2</span>;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">        v7 = *(<span class="code-snippet__keyword">unsigned</span> __int8*)(copydata + index);</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> (v8)</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v7 = <span class="code-snippet__number">2</span> * v7 + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">        ++index;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ((v7 &amp; <span class="code-snippet__number">0x100</span>) == <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">      codebyte = *(<span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">char</span>*)(copydata + index++);</span></code><code><span class="code-snippet_outer">      *(<span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">char</span>*)(codebufer + index_2++) = codebyte;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">for</span> (i = <span class="code-snippet__number">1</span>; ; i = v20 + ((<span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span>)(v7 &lt;&lt; <span class="code-snippet__number">23</span>) &gt;&gt; <span class="code-snippet__number">31</span>))</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v11 = (v7 &amp; <span class="code-snippet__number">0x7F</span>) == <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ((v7 &amp; <span class="code-snippet__number">0x7F</span>) != <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">        v12 = <span class="code-snippet__number">2</span> * v7;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">        v12 = *(<span class="code-snippet__keyword">unsigned</span> __int8*)(copydata + index);</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> (v11)</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v12 = <span class="code-snippet__number">2</span> * v12 + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">        ++index;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer">      v13 = (v12 &amp; <span class="code-snippet__number">0x7F</span>) == <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">      v14 = v12 &lt;&lt; <span class="code-snippet__number">23</span>;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ((v12 &amp; <span class="code-snippet__number">0x7F</span>) != <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">        v15 = <span class="code-snippet__number">2</span> * v12;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">        v15 = *(<span class="code-snippet__keyword">unsigned</span> __int8*)(copydata + index);</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> (v13)</span></code><code><span class="code-snippet_outer">        v15 = <span class="code-snippet__number">2</span> * v15 + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">      v16 = <span class="code-snippet__number">2</span> * i;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> (v13)</span></code><code><span class="code-snippet_outer">        ++index;</span></code><code><span class="code-snippet_outer">      v17 = v16 + (v14 &gt;&gt; <span class="code-snippet__number">31</span>);</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ((v15 &amp; <span class="code-snippet__number">0x100</span>) != <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">      v18 = (v15 &amp; <span class="code-snippet__number">0x7F</span>) == <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ((v15 &amp; <span class="code-snippet__number">0x7F</span>) == <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">        v15 = *(<span class="code-snippet__keyword">unsigned</span> __int8*)(copydata + index);</span></code><code><span class="code-snippet_outer">      v19 = v17 + <span class="code-snippet__number">0x7FFFFFFF</span>;</span></code><code><span class="code-snippet_outer">      v7 = <span class="code-snippet__number">2</span> * v15;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> (v18)</span></code><code><span class="code-snippet_outer">        ++v7;</span></code><code><span class="code-snippet_outer">      v20 = <span class="code-snippet__number">2</span> * v19;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> (v18)</span></code><code><span class="code-snippet_outer">        ++index;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    index_1 = index;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (v17 != <span class="code-snippet__number">2</span>)</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">    v22 = (v15 &amp; <span class="code-snippet__number">0x7F</span>) == <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> ((v15 &amp; <span class="code-snippet__number">0x7F</span>) != <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">      v15 *= <span class="code-snippet__number">2</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">      v15 = *(<span class="code-snippet__keyword">unsigned</span> __int8*)(copydata + index);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (v22)</span></code><code><span class="code-snippet_outer">      v15 = <span class="code-snippet__number">2</span> * v15 + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (v22)</span></code><code><span class="code-snippet_outer">      ++index;</span></code><code><span class="code-snippet_outer">    v23 = (v15 &gt;&gt; <span class="code-snippet__number">8</span>) &amp; <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">  LABEL_41:</span></code><code><span class="code-snippet_outer">    v25 = (v15 &amp; <span class="code-snippet__number">0x7F</span>) == <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> ((v15 &amp; <span class="code-snippet__number">0x7F</span>) != <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">      v7 = <span class="code-snippet__number">2</span> * v15;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">      v7 = *(<span class="code-snippet__keyword">unsigned</span> __int8*)(copydata + index);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (v25)</span></code><code><span class="code-snippet_outer">      v7 = <span class="code-snippet__number">2</span> * v7 + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">    v26 = <span class="code-snippet__number">2</span> * v23;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (v25)</span></code><code><span class="code-snippet_outer">      ++index;</span></code><code><span class="code-snippet_outer">    v27 = v26 + ((<span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span>)(v7 &lt;&lt; <span class="code-snippet__number">23</span>) &gt;&gt; <span class="code-snippet__number">31</span>);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (!v27)</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v28 = <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">do</span></span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        v29 = (v7 &amp; <span class="code-snippet__number">0x7F</span>) == <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">if</span> ((v7 &amp; <span class="code-snippet__number">0x7F</span>) != <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">          v30 = <span class="code-snippet__number">2</span> * v7;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">          v30 = *(<span class="code-snippet__keyword">unsigned</span> __int8*)(copydata + index);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">if</span> (v29)</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          v30 = <span class="code-snippet__number">2</span> * v30 + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">          ++index;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">        v31 = (v30 &amp; <span class="code-snippet__number">0x7F</span>) == <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">        v32 = v30 &lt;&lt; <span class="code-snippet__number">23</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">if</span> ((v30 &amp; <span class="code-snippet__number">0x7F</span>) != <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">          v7 = <span class="code-snippet__number">2</span> * v30;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">          v7 = *(<span class="code-snippet__keyword">unsigned</span> __int8*)(copydata + index);</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">if</span> (v31)</span></code><code><span class="code-snippet_outer">          v7 = <span class="code-snippet__number">2</span> * v7 + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">        v33 = <span class="code-snippet__number">2</span> * v28;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">if</span> (v31)</span></code><code><span class="code-snippet_outer">          ++index;</span></code><code><span class="code-snippet_outer">        v28 = v33 + (v32 &gt;&gt; <span class="code-snippet__number">31</span>);</span></code><code><span class="code-snippet_outer">      } <span class="code-snippet__keyword">while</span> ((v7 &amp; <span class="code-snippet__number">0x100</span>) == <span class="code-snippet__number">0</span>);</span></code><code><span class="code-snippet_outer">      v27 = v28 + <span class="code-snippet__number">2</span>;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (v5 &gt; <span class="code-snippet__number">0x500</span>)</span></code><code><span class="code-snippet_outer">      v34 = v27 + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">      v34 = v27;</span></code><code><span class="code-snippet_outer">    v35 = (<span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">char</span>*)(codebufer + index_2 - v5);</span></code><code><span class="code-snippet_outer">    *(<span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">char</span>*)(codebufer + index_2) = *v35;</span></code><code><span class="code-snippet_outer">    v36 = index_2 + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">    v37 = &amp;v35[v34];</span></code><code><span class="code-snippet_outer">    v38 = codebufer + index_2;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">do</span></span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v39 = *++v35;</span></code><code><span class="code-snippet_outer">      *(<span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">char</span>*)++v38 = v39;</span></code><code><span class="code-snippet_outer">    } <span class="code-snippet__keyword">while</span> (v35 != v37);</span></code><code><span class="code-snippet_outer">    index_2 = v36 + v34;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v24 = *(<span class="code-snippet__keyword">unsigned</span> __int8*)(copydata + index++) + ((v17 + <span class="code-snippet__number">16777213</span>) &lt;&lt; <span class="code-snippet__number">8</span>);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (v24 != <span class="code-snippet__number">-1</span>)</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v23 = !(*(<span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">char</span>*)(copydata + index_1) &amp; <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">    v5 = (v24 &gt;&gt; <span class="code-snippet__number">1</span>) + <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">goto</span> LABEL_41;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  *a4 = index_2;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (index == datasize)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (index &gt;= datasize)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">-201</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">-205</span>;</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">int</span> __<span class="code-snippet__function">fastcall <span class="code-snippet__title">sub_D1F2EA88</span><span class="code-snippet__params">(<span class="code-snippet__keyword">int</span> result, <span class="code-snippet__keyword">int</span> a2)</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> v2; <span class="code-snippet__comment">// r4</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span> v3; <span class="code-snippet__comment">// r12</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> v4; <span class="code-snippet__comment">// r6</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> v5; <span class="code-snippet__comment">// r7</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> v6; <span class="code-snippet__comment">// r5</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> v7; <span class="code-snippet__comment">// r2</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span> v8; <span class="code-snippet__comment">// r5</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> v9; <span class="code-snippet__comment">// r3</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> v10; <span class="code-snippet__comment">// r6</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">unsigned</span> <span class="code-snippet__keyword">int</span> v11; <span class="code-snippet__comment">// r1</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  v2 = *(<span class="code-snippet__keyword">int</span>*)(result + a2 + <span class="code-snippet__number">8</span>);</span></code><code><span class="code-snippet_outer">  v3 = *(<span class="code-snippet__keyword">int</span>*)(result + a2 + <span class="code-snippet__number">12</span>);</span></code><code><span class="code-snippet_outer">  v4 = *(<span class="code-snippet__keyword">int</span>*)(result + a2 + <span class="code-snippet__number">16</span>);</span></code><code><span class="code-snippet_outer">  v5 = *(<span class="code-snippet__keyword">int</span>*)(result + a2 + <span class="code-snippet__number">20</span>);</span></code><code><span class="code-snippet_outer">  v6 = *(<span class="code-snippet__keyword">int</span>*)(result + a2 + <span class="code-snippet__number">24</span>);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (*(<span class="code-snippet__keyword">int</span>*)(result + a2) == <span class="code-snippet__number">2146926590</span>)</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    result += *(<span class="code-snippet__keyword">int</span>*)(result + a2 + <span class="code-snippet__number">4</span>);</span></code><code><span class="code-snippet_outer">    v7 = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">    v8 = v3 + <span class="code-snippet__number">4</span> * v6;</span></code><code><span class="code-snippet_outer">    v9 = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">    v10 = v5 + v4;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">while</span> (v9 != v2)</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v11 = *(<span class="code-snippet__keyword">int</span>*)(result + <span class="code-snippet__number">8</span> * v9);</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> (v11 &gt;= v3 &amp;&amp; v11 &lt; v8)</span></code><code><span class="code-snippet_outer">        * (<span class="code-snippet__keyword">int</span>*)(result + <span class="code-snippet__number">8</span> * v9) = v10 + <span class="code-snippet__number">4</span> * v7++;</span></code><code><span class="code-snippet_outer">      ++v9;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span> result;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h5 data-source-line="250" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">4.3 DEX 指令抽取原理分析</h5><h6 data-source-line="251" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">JNI_OnLoad 分析</h6><p data-source-line="252" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">壳解密完成后执行到JNI_OnLoad方法，JNI_OnLoad主要完成几个重要步骤。<br style="box-sizing: border-box;"/>1、注册JNI方法，方法如下：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">i()V</span></code><code><span class="code-snippet_outer">attach(Landroid/app/Application;Landroid/content/Context;)V</span></code><code><span class="code-snippet_outer">b(Landroid/content/Context;Landroid/app/Application;)V</span></code><code><span class="code-snippet_outer">c()V</span></code><code><span class="code-snippet_outer">d(Ljava/lang/<span class="code-snippet__built_in">String</span>;)Ljava/lang/<span class="code-snippet__built_in">String</span>;</span></code><code><span class="code-snippet_outer">e(Ljava/lang/<span class="code-snippet__built_in">Object</span>;Ljava/util/List;Ljava/lang/<span class="code-snippet__built_in">String</span>;)[Ljava/lang/<span class="code-snippet__built_in">Object</span>;</span></code><code><span class="code-snippet_outer">f()[Ljava/lang/<span class="code-snippet__built_in">String</span>;</span></code><code><span class="code-snippet_outer">g()[Ljava/lang/<span class="code-snippet__built_in">String</span>;</span></code><code><span class="code-snippet_outer">h()[Ljava/lang/<span class="code-snippet__built_in">String</span>;</span></code><code><span class="code-snippet_outer">n()[Ljava/lang/<span class="code-snippet__built_in">String</span>;</span></code><code><span class="code-snippet_outer">j()[Ljava/lang/<span class="code-snippet__built_in">String</span>;</span></code><code><span class="code-snippet_outer">k()Ljava/lang/<span class="code-snippet__built_in">String</span>;</span></code><code><span class="code-snippet_outer">l()Ljava/lang/<span class="code-snippet__built_in">String</span>;</span></code><code><span class="code-snippet_outer">m()Ljava/lang/<span class="code-snippet__built_in">String</span>;</span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">2、hook libc.so方法，hook如下方法：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="perl"><code><span class="code-snippet_outer">__open</span></code><code><span class="code-snippet_outer">__openat</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">write</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">read</span></span></code><code><span class="code-snippet_outer">munmap</span></code><code><span class="code-snippet_outer">msync</span></code><code><span class="code-snippet_outer">__mmap2</span></code><code><span class="code-snippet_outer">pread64</span></code><code><span class="code-snippet_outer">ftruncate64</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">close</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">3、读取classes0.jar、classes.dgc并解密，代码逻辑如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">//读取资源文件</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1B0 01 1C       MOVS            R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1B2 06 98       LDR             R0, [SP,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1B4 D1 F7 A4 EA BLX             AAssetManager_fromJava_0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1B8 31 1C       MOVS            R1, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1BA 03 22       MOVS            R2, #3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1BC D1 F7 A6 EA BLX             AAssetManager_open_0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1C0 17 90       STR             R0, [SP,#0x5C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1C2 D1 F7 B0 EA BLX             AAsset_getBuffer_0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1C6 1D 90       STR             R0, [SP,#0x74]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1C8             ; START OF FUNCTION CHUNK FOR map_bufer</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1C8             loc_CEE8E1C8                            ; CODE XREF: map_bufer+62↑j</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1C8 17 98       LDR             R0, [SP,#0x5C]          ; asset</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1CA D1 F7 A6 EA BLX             AAsset_getLength_0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1CE 00 23       MOVS            R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1D0 33 93       STR             R3, [SP,#0xCC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1D2 33 9A       LDR             R2, [SP,#0xCC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE8E1D4 A4 4A       LDR             R2, =0xFFFFFC84</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//解密代码</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             EXPORT Dec_classes_dgc_p1053869DF5E0CBA2E958A4809845A982</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             Dec_classes_dgc_p1053869DF5E0CBA2E958A4809845A982</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             var_248= -0x248</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             var_244= -0x244</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             var_240= -0x240</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             var_238= -0x238</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             var_11C= -0x11C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             var_1C= -0x1C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             arg_48=  0x48</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568             arg_314=  0x314</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72568 F0 B5       PUSH            {R4-R7,LR}</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7256A 87 4C       LDR             R4, loc_CEE72788</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7256C 87 4A       LDR             R2, loc_CEE7278C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7256E 88 4B       LDR             R3, loc_CEE72790</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72570 A5 44       ADD             SP, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72572 01 90       STR             R0, [SP,#0x248+var_244]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72574 80 20       MOVS            R0, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72576 7A 44       ADD             R2, PC             </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72578 D6 58       LDR             R6, [R2,R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7257A 00 91       STR             R1, [SP,#0x248+var_248]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7257C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7257C             loc_CEE7257C  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7257C 80 02       LSLS            R0, R0, #0xA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7257E 33 68       LDR             R3, [R6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72580 04 96       STR             R6, [SP,#0x248+var_238]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72582 8B 93       STR             R3, [SP,#0x248+var_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72584 81 42       CMP             R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72586 00 DD       BLE             loc_CEE7258A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72588 00 90       STR             R0, [SP,#0x248+var_248]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7258A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7258A             loc_CEE7258A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7258A 82 4B       LDR             R3, loc_CEE72794</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7258C 7B 44       ADD             R3, PC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7258E 1B 68       LDR             R3, [R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72590 00 2B       CMP             R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72592 40 D1       BNE             loc_CEE72616</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72594 80 49       LDR             R1, loc_CEE72798</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72596 52 58       LDR             R2, [R2,R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72598 12 68       LDR             R2, [R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7259A 02 92       STR             R2, [SP,#0x248+var_240]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7259C 80 22 52 00 MOVS            R2, #0x100</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725A0             loc_CEE725A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725A0 4B A9       ADD             R1, SP, #0x248+var_11C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725A2 5B 54       STRB            R3, [R3,R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725A4             loc_CEE725A4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725A4 01 33       ADDS            R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725A6 93 42       CMP             R3, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725A8 FA D1       BNE             loc_CEE725A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725AA 00 23       MOVS            R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725AC 0F 27       MOVS            R7, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725AE 1D 1C       MOVS            R5, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725B0 18 1C       MOVS            R0, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725B2 9C 46       MOV             R12, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725B4             loc_CEE725B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725B4 02 9A       LDR             R2, [SP,#(dword_CEE727D4 - 0xCEE727CC)]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725B6 46 5C       LDRB            R6, [R0,R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725B8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725B8             loc_CEE725B8               </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725B8 64 46       MOV             R4, R12</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725BA D2 5C       LDRB            R2, [R2,R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725BC 01 33       ADDS            R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725BE 92 19       ADDS            R2, R2, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725C0 55 19       ADDS            R5, R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725C2 FF 22       MOVS            R2, #0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725C4 15 40       ANDS            R5, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725C6 DA 0F       LSRS            R2, R3, #0x1F</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725C8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725C8             loc_CEE725C8 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725C8 9F 42       CMP             R7, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725CA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725CA             loc_CEE725CA     </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725CA 62 41       ADCS            R2, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725CC 52 42       NEGS            R2, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725CE 13 40       ANDS            R3, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725D0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725D0             loc_CEE725D0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725D0 4A 5D       LDRB            R2, [R1,R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725D2 0A 54       STRB            R2, [R1,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725D4 80 22       MOVS            R2, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725D6 01 30       ADDS            R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725D8 4E 55       STRB            R6, [R1,R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725DA 52 00       LSLS            R2, R2, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725DC 90 42       CMP             R0, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725DE E9 D1       BNE             loc_CEE725B4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725DE         </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725DE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725E0             loc_CEE725E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725E0 00 22       MOVS            R2, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725E2 FF 27       MOVS            R7, #0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725E4 10 1C       MOVS            R0, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725E6 01 99       LDR             R1, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725E8 00 9B       LDR             R3, [SP]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725EA CC 18       ADDS            R4, R1, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725EC             ; START OF FUNCTION CHUNK FOR DecString_5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725EC             loc_CEE725EC </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725EC                    </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725EC A1 42       CMP             R1, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725EE 00 D1       BNE             loc_CEE725F2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725F0 BE E0       B               loc_CEE72770</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725F2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725F2             loc_CEE725F2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725F2 01 30       ADDS            R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725F4             loc_CEE725F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725F4 4B AE       ADD             R6, SP, #0x248+var_11C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725F6 38 40       ANDS            R0, R7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725F8 33 5C       LDRB            R3, [R6,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725FA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725FA             loc_CEE725FA </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725FA D2 18       ADDS            R2, R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725FC 3A 40       ANDS            R2, R7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE725FE B5 5C       LDRB            R5, [R6,R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72600 35 54       STRB            R5, [R6,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72602 B3 54       STRB            R3, [R6,R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72604 35 5C       LDRB            R5, [R6,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72606 ED 18       ADDS            R5, R5, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72608 3D 40       ANDS            R5, R7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7260A 0B 78       LDRB            R3, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7260C 75 5D       LDRB            R5, [R6,R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7260E 6B 40       EORS            R3, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72610 0B 70       STRB            R3, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72612 01 31       ADDS            R1, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72614 EA E7       B               loc_CEE725EC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72616</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72616             loc_CEE72616 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72616 01 2B       CMP             R3, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72618 00 D0       BEQ             loc_CEE7261C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7261A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7261A             loc_CEE7261A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7261A A9 E0       B               loc_CEE72770</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7261C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7261C             loc_CEE7261C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7261C 5E 4B       LDR             R3, loc_CEE72798</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7261E 06 A8       ADD             R0, SP, #0x248+var_230</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72620 D3 58       LDR             R3, [R2,R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72620             ; END OF FUNCTION CHUNK FOR DecString_5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72622 19 68       LDR             R1, [R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72624 FF F7 48 FC BL              _Z33p70A9D4C5060D53A50764B3505C16E6F2P33p4ABCBA1E0CA9993D681F7E561B3486DCPh</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72628 00 98       LDR             R0, [SP]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7262A EC F7 98 EF BLX             malloc_0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7262E 01 99       LDR             R1, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72630 00 9A       LDR             R2, [SP]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72632 06 1C       MOVS            R6, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72634 EC F7 80 EF BLX             memcpy_0_</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72638 01 9D       LDR             R5, [SP,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7263A             loc_CEE7263A </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7263A 00 9B       LDR             R3, [SP,#0x130+var_130]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7263C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7263C             loc_CEE7263C  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7263C 01 9A       LDR             R2, [SP,#0x130+var_12C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7263E 5B 1B       SUBS            R3, R3, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72640 D3 18       ADDS            R3, R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72642 00 2B       CMP             R3, #(unk_13F0E000 - 0x13F0E000)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72644</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72644             loc_CEE72644  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72644 00 DC       BGT             loc_CEE72648</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72646 93 E0       B               loc_CEE72770</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72648             loc_CEE72648</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72648 27 AF       ADD             R7, SP, #0x130+var_94</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7264A 00 21       MOVS            R1, #0                  ; int</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7264C 90 22       MOVS            R2, #0x90               ; size_t</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7264E 38 1C       MOVS            R0, R7                  ; void *</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72650 EC F7 96 EF BLX             memset_0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72654 31 78       LDRB            R1, [R6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72656 73 78       LDRB            R3, [R6,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72658 B2 78       LDRB            R2, [R6,#2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7265A 09 06       LSLS            R1, R1, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7265C 1B 04       LSLS            R3, R3, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7265E 0B 43       ORRS            R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72660 F1 78       LDRB            R1, [R6,#3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72662 12 02       LSLS            R2, R2, #arg_8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72664 02 97       STR             R7, [SP,#0x130+var_128]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72666 0B 43       ORRS            R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72668 13 43       ORRS            R3, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7266A 27 93       STR             R3, [SP,#0x130+var_94]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7266C 31 79       LDRB            R1, [R6,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7266E 73 79       LDRB            R3, [R6,#5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72670 B2 79       LDRB            R2, [R6,#arg_4+2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72672 09 06       LSLS            R1, R1, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72674 1B 04       LSLS            R3, R3, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72676 0B 43       ORRS            R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72678 F1 79       LDRB            R1, [R6,#7]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7267A </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7267A 12 02       LSLS            R2, R2, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7267C 0B 43       ORRS            R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7267E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7267E             loc_CEE7267E </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7267E 13 43       ORRS            R3, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72680</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72680             loc_CEE72680</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72680 7B 60       STR             R3, [R7,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72682 31 7A       LDRB            R1, [R6,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72684 73 7A       LDRB            R3, [R6,#9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72686 B2 7A       LDRB            R2, [R6,#arg_8+2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72688 09 06       LSLS            R1, R1, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7268A 1B 04       LSLS            R3, R3, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7268C 0B 43       ORRS            R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7268E F1 7A       LDRB            R1, [R6,#0xB]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72690</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72690             loc_CEE72690 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72690 12 02       LSLS            R2, R2, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72692 0B 43       ORRS            R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72694 13 43       ORRS            R3, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72696 BB 60       STR             R3, [R7,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72698 31 7B       LDRB            R1, [R6,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7269A 73 7B       LDRB            R3, [R6,#0xD]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7269C B2 7B       LDRB            R2, [R6,#0xE]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7269E 09 06       LSLS            R1, R1, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726A0             loc_CEE726A0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726A0 1B 04       LSLS            R3, R3, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726A2 0B 43       ORRS            R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726A4 F1 7B       LDRB            R1, [R6,#0xF]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726A6 12 02       LSLS            R2, R2, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726A8 0B 43       ORRS            R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726AA 13 43       ORRS            R3, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726AC             loc_CEE726AC </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726AC FB 60       STR             R3, [R7,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726AE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726AE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726AE             loc_CEE726AE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726AE 06 AB       ADD             R3, SP, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726B0 05 93       STR             R3, [SP,#0x14]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726B2 3A 4B       LDR             R3, loc_CEE7279C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726B4 00 21       MOVS            R1, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726B6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726B6             loc_CEE726B6 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726B6 7B 44       ADD             R3, PC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726B8 9C 46       MOV             R12, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726BA             loc_CEE726BA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726BA 60 46       MOV             R0, R12</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726BC 02 9B       LDR             R3, [SP,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726BE 64 46       MOV             R4, R12</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726C0             loc_CEE726C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726C0 5F 18       ADDS            R7, R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726C2 7B 68       LDR             R3, [R7,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726C4 BA 68       LDR             R2, [R7,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726C6 5A 40       EORS            R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726C8 FB 68       LDR             R3, [R7,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726CA 5A 40       EORS            R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726CC             loc_CEE726CC </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726CC 05 9B       LDR             R3, [SP,#0x14]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726CE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726CE             loc_CEE726CE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726CE 5B 18       ADDS            R3, R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726D0 5B 68       LDR             R3, [R3,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726D2             loc_CEE726D2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726D2 5A 40       EORS            R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726D4 13 0E       LSRS            R3, R2, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726D6 C3 5C       LDRB            R3, [R0,R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726D8             loc_CEE726D8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726D8 FF 20       MOVS            R0, #0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726DA 10 40       ANDS            R0, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726DC 20 5C       LDRB            R0, [R4,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726DE FF 24       MOVS            R4, #0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726E0             loc_CEE726E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726E0 1B 06       LSLS            R3, R3, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726E2 03 43       ORRS            R3, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726E4             loc_CEE726E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726E4 10 0C       LSRS            R0, R2, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726E6 20 40       ANDS            R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726E8 64 46       MOV             R4, R12</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726EA 20 5C       LDRB            R0, [R4,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726EC 12 0A       LSRS            R2, R2, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726EE 00 04       LSLS            R0, R0, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726F0             loc_CEE726F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726F0 18 43       ORRS            R0, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726F2 FF 23       MOVS            R3, #0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726F4             loc_CEE726F4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726F4 1A 40       ANDS            R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726F6 A3 5C       LDRB            R3, [R4,R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726F8 02 9A       LDR             R2, [SP,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726FA 1B 02       LSLS            R3, R3, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726FC 03 43       ORRS            R3, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE726FE 1C 1C       MOVS            R4, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72700 1E 20       MOVS            R0, #0x1E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72702 C4 41       RORS            R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72704 8A 58       LDR             R2, [R1,R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72706 16 20       MOVS            R0, #(loc_CEE72932 - 0xCEE7291C) </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72708 03 92       STR             R2, [SP,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7270A 5A 40       EORS            R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7270C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7270C             loc_CEE7270C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7270C 62 40       EORS            R2, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7270E 1C 1C       MOVS            R4, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72710 C4 41       RORS            R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72712 0E 20       MOVS            R0, #0xE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72714</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72714             loc_CEE72714</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72714 62 40       EORS            R2, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72716 1C 1C       ADDS            R4, R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72718             loc_CEE72718</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72718 C4 41       RORS            R4, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7271A 08 20       MOVS            R0, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7271C C3 41       RORS            R3, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7271E 62 40       EORS            R2, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72720 5A 40       EORS            R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72722 04 31       ADDS            R1, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72724 3A 61       STR             R2, [R7,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72726</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72726             loc_CEE72726</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72726 80 29       CMP             R1, #0x80</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72728</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72728             loc_CEE72728</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72728 C7 D1       BNE             loc_CEE726BA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7272A 4A 9B       LDR             R3, [SP,#0x128]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7272C 10 36       ADDS            R6, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7272E 1A 0E       LSRS            R2, R3, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72730</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72730             loc_CEE72730</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72730 2A 70       STRB            R2, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72732 1A 0C       LSRS            R2, R3, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72734 6A 70       STRB            R2, [R5,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72736 EB 70       STRB            R3, [R5,#3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72738 1A 0A       LSRS            R2, R3, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7273A 49 9B       LDR             R3, [SP,#0x124]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7273C AA 70       STRB            R2, [R5,#2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7273E 1A 0E       LSRS            R2, R3, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72740 2A 71       STRB            R2, [R5,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72742 1A 0C       LSRS            R2, R3, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72744</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72744             loc_CEE72744</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72744 6A 71       STRB            R2, [R5,#5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72746 EB 71       STRB            R3, [R5,#7]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72748</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72748             loc_CEE72748</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72748 1A 0A       LSRS            R2, R3, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7274A 48 9B       LDR             R3, [SP,#0x120]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7274C AA 71       STRB            R2, [R5,#arg_4+2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7274E 1A 0E       LSRS            R2, R3, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72750</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72750             loc_CEE72750</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72750 2A 72       STRB            R2, [R5,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72752 1A 0C       LSRS            R2, R3, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72754 6A 72       STRB            R2, [R5,#9]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72756 EB 72       STRB            R3, [R5,#0xB]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72758 1A 0A       LSRS            R2, R3, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7275A 47 9B       LDR             R3, [SP,#0x11C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7275C AA 72       STRB            R2, [R5,#arg_8+2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7275E 1A 0E       LSRS            R2, R3, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72760 2A 73       STRB            R2, [R5,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72762 1A 0C       LSRS            R2, R3, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72764             loc_CEE72764</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72764 6A 73       STRB            R2, [R5,#0xD]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72766 1A 0A       LSRS            R2, R3, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72768 AA 73       STRB            R2, [R5,#0xE]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7276A EB 73       STRB            R3, [R5,#0xF]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7276C 10 35       ADDS            R5, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7276E 64 E7       B               loc_CEE7263A</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72770</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72770             loc_CEE72770</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72770 04 9B       LDR             R3, [SP,#0x248+var_238]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72772 8B 9A       LDR             R2, [SP,#0x248+var_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72774 1B 68       LDR             R3, [R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72776 9A 42       CMP             R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72778 01 D0       BEQ             loc_CEE7277E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7277A EC F7 D8 EE BLX             sub_CEE5F52C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7277E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7277E             loc_CEE7277E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE7277E 8D 23       MOVS            R3, #0x8D</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72780</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72780             loc_CEE72780</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72780 9B 00       LSLS            R3, R3, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72782 9D 44       ADD             SP, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg131:CEE72784 F0 BD       POP             {R4-R7,PC}</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">classes0.jar:解密出DEX明文。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">classes.dgc:解密出被抽取的指令。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">4、hook libart.so虚拟机方法</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">我调试的系统版为android 9，该系统主要hook了如下两个方法：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">art::ArtDexFileLoader::Open</span></code><code><span class="code-snippet_outer">art::ClassLinker::LoadMethod</span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">5、反调试</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">反调试主要分为以下几种方式：</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">1、fork多进程相互监控。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">2、多线程监控，创建3个线程监控调试状态，检查TracerPid和命令行中的gdb gdbserver android_server，文件监控。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">3、hook ptrace 方法判断是否有调试器。</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">4、hook art::Runtime::AttachAgent 监控是否在调试</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">5、hook vmDebug_notifyDebuggerActivityStart监控调试器</span></p><h6 data-source-line="697" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">方法指令还原：</h6><p data-source-line="698" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">当被抽取指令的方法被执行时，会调用art::ClassLinker::LoadMethod，在hook LoadMethod中，先判断是否为目标方法，然后修复，会给每一个加载的目标类方法设置一个DEX文件类方法索引，以及关联一个ArtMethod对象指针数组，如下所示：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">//判断是否为目标方法</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE75928 3A A9       ADD             R1, SP, #0xE8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE7592A 04 22       MOVS            R2, #4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE7592C 9B 6A       LDR             R3, [R3,#0x28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE7592E 62 26       MOVS            R6, #0x62 ; &#39;b&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE75930 18 1C       MOVS            R0, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE75932 04 93       STR             R3, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE75934 E9 F7 CC EE BLX             memcmp_0_</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE75938 00 28       CMP             R0, #0                  ; 比较是否为目标方法</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE7593A 00 D1       BNE             loc_CEE7593E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg157:CEE7593C 03 E7       B               loc_CEE75746</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//修复方法索引</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C3C 12 9B       LDR             R3, [SP,#0x48]          ; 进入修复流程</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C3E 3A 98       LDR             R0, [SP,#0xE8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C40</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C40             loc_CEE75C40 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C40 5C 26       MOVS            R6, #0x5C ; &#39;\&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C42 5B 68       LDR             R3, [R3,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C44</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C44             loc_CEE75C44 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C44 04 93       STR             R3, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C46 12 9B       LDR             R3, [SP,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C48 04 99       LDR             R1, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C4A DB 68       LDR             R3, [R3,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C4C 07 93       STR             R3, [SP,#0x1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C4E 1A 1C       MOVS            R2, R3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C50 12 9B       LDR             R3, [SP,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C52 08 33       ADDS            R3, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C54</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C54             loc_CEE75C54 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C54 FC F7 86 FB BL              fixcode_p9AB5A5CE7069322A1CDE6359EAB11FAE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C58 12 9B       LDR             R3, [SP,#0x48]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C5A 9B 68       LDR             R3, [R3,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C5C 1A 93       STR             R3, [SP,#0x68]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C5E 83 4B       LDR             R3, loc_CEE75E6C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C60 FB 58       LDR             R3, [R7,R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C62 04 93       STR             R3, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C64 1B 78       LDRB            R3, [R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE75C66 00 2B       CMP             R3, #0</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//根据解密后的classes.dgc查找索引修复,循环修复每一个方法</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723D4             cmp_end </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723D4 B5 42       CMP             R5, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723D6 00 DB       BLT             FindTable_dgc </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723D8 A8 E0       B               loc_CEE7252C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723DA             FindTable_dgc</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723DA 13 78       LDRB            R3, [R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723DC 02 98       LDR             R0, [SP,#arg_8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723DE 05 91       STR             R1, [SP,#0x14]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723E0 63 40       EORS            R3, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723E2 C3 5C       LDRB            R3, [R0,R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723E4 13 70       STRB            R3, [R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723E6 05 9B       LDR             R3, [SP,#0x14+arg_0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723E8 07 23       MOVS            R3, #7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723EA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723EA             loc_CEE723EA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723EA 06 93       STR             R3, [SP,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723EC 00 23       MOVS            R3, #0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723EE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723EE             loc_CEE723EE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723EE 06 98       LDR             R0, [SP,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F0             def_CEE723FA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F0 0F 28       CMP             R0, #0xF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F2 00 D1       BNE             loc_CEE723F6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F4 9E E0       B               index__</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F6             loc_CEE723F6 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F6 0E 28       CMP             R0, #0xE</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F8             loc_CEE723F8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg156:CEE723F8 FA D8       BHI             def_CEE723FA</span></span></code></pre></section><h5 data-source-line="775" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">4.4 DEX VMP原理分析</h5><p data-source-line="776" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">VMP的实现逻辑是在libdexjni.so中，在java层注册如下几个jni方法供被虚拟化的方法调用：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="java"><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> <span class="code-snippet__keyword">byte</span> <span class="code-snippet__title">cB</span><span class="code-snippet__params">(Object[] arg0)</span></span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> <span class="code-snippet__keyword">char</span> <span class="code-snippet__title">cC</span><span class="code-snippet__params">(Object[] arg0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> <span class="code-snippet__keyword">double</span> <span class="code-snippet__title">cD</span><span class="code-snippet__params">(Object[] arg0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> <span class="code-snippet__keyword">float</span> <span class="code-snippet__title">cF</span><span class="code-snippet__params">(Object[] arg0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> <span class="code-snippet__keyword">int</span> <span class="code-snippet__title">cI</span><span class="code-snippet__params">(Object[] arg0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> <span class="code-snippet__keyword">long</span> <span class="code-snippet__title">cJ</span><span class="code-snippet__params">(Object[] arg0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> Object <span class="code-snippet__title">cL</span><span class="code-snippet__params">(Object[] arg0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> <span class="code-snippet__keyword">short</span> <span class="code-snippet__title">cS</span><span class="code-snippet__params">(Object[] arg0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> <span class="code-snippet__keyword">void</span> <span class="code-snippet__title">cV</span><span class="code-snippet__params">(Object[] arg0)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">public</span> <span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">native</span> <span class="code-snippet__keyword">boolean</span> <span class="code-snippet__title">cZ</span><span class="code-snippet__params">(Object[] arg0)</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">如果加载的方法中调用JniLib.cV这样的Native方法时，该方法指令被虚拟化，如图4-4所示：</span><img class="rich_pages js_insertlocalimg" data-ratio="0.6228070175438597" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -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: 17px;" data-type="png" data-w="570" src="https://wechat2rss.xlab.app/img-proxy/?k=cde2b63a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibVlzsOFs7n622VnpXYKDg7sb9xt8W0j8MYWTMXpjFKiaBRf3sB4D8pEVSoDOChT827RmvvmE0GDxxw%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">                        图4-4<br/></p><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">JNI方法中前几个参数为原始方法参数，最后一个整形参数是一个索引值，虚拟机解释执行的过程主要分为如下几个步骤：</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">1、根据Java层传入的最后一个整形参数索引值获取方法的DexCode指令，代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299EF0             loc_C6299EF0                            </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299EF0 90 47       BLX             R2  ; GetArrayLength，获取参数个数</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299EF2 AD 21       MOVS            R1, #0xAD</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299EF4 09 91       STR             R1, [SP,#0x24]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299EF6 89 00       LSLS            R1, R1, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299EF8 32 68       LDR             R2, [R6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299EFA 53 58       LDR             R3, [R2,R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299EFC 44 1E       SUBS            R4, R0, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299EFE 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F00 29 46       MOV             R1, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F02 22 46       MOV             R2, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F04</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F04             loc_C6299F04 </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F04 98 47       BLX             R3  ; GetObjectArrayElement,获取最后一个参数</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F06 01 46       MOV             R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F08 9C 48       LDR             R0,</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F0A 78 44       ADD             R0, PC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F0C 8F 4A       LDR             R2, unk_C629A14C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F0E 10 18       ADDS            R0, R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F10 00 68       LDR             R0, [R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F12 6B 22 92 00 MOVS            R2, #0x1AC</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F16 82 58       LDR             R2, [R0,R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F18 30 46       MOV             R0, R6</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F1A 4F F0 AD FD BL              CallIntMethod</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F1E 4F F0 7B FD BL              GetVmpStrut_j_j__l_S0lSlI$5llll5SI0l$I5IIlOOSlS0Sl$Ill_$__5l0_OllS5$_0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6299F22 05 46       MOV             R5, R0</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">2、从获取的数据内容还原结构体如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer">strut VMJavaInfo {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">uint32_t</span> DexCodeindex; <span class="code-snippet__comment">// 这是java层传递的指令索引</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">uint32_t</span> CodeSize; <span class="code-snippet__comment">// 指令大小</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">uint64_t</span> dexcode; <span class="code-snippet__comment">// dexcode指针</span></span></code><code><span class="code-snippet_outer">};</span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">3、通过上面结构体获取dexcode指针，代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A0F4</span>             <span class="code-snippet__selector-tag">loc_C629A0F4</span> </span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A0F4</span> <span class="code-snippet__selector-tag">A8</span> 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R5,#8]</span> ; 取<span class="code-snippet__selector-tag">dexcodeinfo</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A0F6</span> 48 60       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R1,#4]</span> ; 存<span class="code-snippet__selector-tag">dexcodeinfo</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A0F8</span> 28 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A0FA</span> 88 60       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R1,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A0FC</span> 68 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R5,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A0FE</span> <span class="code-snippet__selector-tag">C8</span> 60       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R1,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A100</span> 04 20       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A102</span> <span class="code-snippet__selector-tag">D5</span> <span class="code-snippet__selector-tag">E7</span>       <span class="code-snippet__selector-tag">B</span>               <span class="code-snippet__selector-tag">def_C629A0C0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C629A104</span> 09 98       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[SP,#0x24]</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">dexcode结构体如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">struct</span> DexCode {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attribute">u2</span>  registersSize; </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attribute">u2</span>  insSize;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attribute">u2</span>  outsSize;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attribute">u2</span>  triesSize;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attribute">u4</span>  <span class="code-snippet__literal">debug</span>InfoOff; </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attribute">u4</span>  insnsSize;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attribute">u2</span>  insns[<span class="code-snippet__number">1</span>]; </span></code><code><span class="code-snippet_outer">    }</span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">4、根据DexCode结构体获取自定义指令，代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C632663A C8 68       LDR             R0, [R1,#0xC]           ; 取得DexCodeInfo数据</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C632663C 8A 69       LDR             R2, [R1,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C632663E 06 9C       LDR             R4, [SP,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326640 E2 61       STR             R2, [R4,#0x1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326642 10 30       ADDS            R0, #0x10               ; 定位到DexCode</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326644 20 70       STRB            R0, [R4]                ; 存放DexCode地址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326646 02 0E       LSRS            R2, R0, #0x18</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326648 E2 70       STRB            R2, [R4,#3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C632664A 02 0C       LSRS            R2, R0, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C632664C A2 70       STRB            R2, [R4,#2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C632664E 00 0A       LSRS            R0, R0, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326650 60 70       STRB            R0, [R4,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326652 2B 68       LDR             R3, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326654 20 46       MOV             R0, R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326656 3E 46       MOV             R6, R7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326658 2F 46       MOV             R7, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C632665A 04 9D       LDR             R5, [SP,#0x10]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C632665C 2A 46       MOV             R2, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C632665E 4F F0 CB F9 BL              VMP_j__lI$$lllIIS0OlSOlI0lllOIllllSIllIO_ll$0I_0SlSIIlIS5$_0 ; R0:DexCode//进入VMP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326662 A0 68       LDR             R0, [R4,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6326664 E1 68       LDR             R1, [R4,#0xC]</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">5、解密自定义指令,代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">//解密指令</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C635308A 1B 68       LDR             R3, [R3] ; 取DEXCodeInfo</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C635308C 18 79       LDRB            R0, [R3,#4]; 解密DexCode地址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C635308E 59 79       LDRB            R1, [R3,#5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6353090 09 02       LSLS            R1, R1, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6353092 01 43       ORRS            R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6353094 98 79       LDRB            R0, [R3,#6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6353096 DA 79       LDRB            R2, [R3,#7]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C6353098 12 02       LSLS            R2, R2, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C635309A 02 43       ORRS            R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C635309C 10 04       LSLS            R0, R2, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C635309E 08 43       ORRS            R0, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530A0 5E 4C       LDR             R4, unk_C635321C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530A2 6C 44       ADD             R4, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530A4 20 60       STR             R0, [R4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530A6 18 78       LDRB            R0, [R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530A8 59 78       LDRB            R1, [R3,#1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530AA 09 02       LSLS            R1, R1, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530AC 01 43       ORRS            R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530AE 98 78       LDRB            R0, [R3,#2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530B0 DA 78       LDRB            R2, [R3,#3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530B2 12 02       LSLS            R2, R2, #8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530B4 02 43       ORRS            R2, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530B6 12 04       LSLS            R2, R2, #0x10</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530B8 0A 43       ORRS            R2, R1  ; 得到解密的DexCode地址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530BA 36 4C       LDR             R4, loc_C6353194</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C63530BC 6C 44       ADD             R4, SP</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//解密指令</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5948 1B 68       LDR             R3, [R3]   ; 取DexCode地址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B594A 59 1A       SUBS            R1, R3, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B594C 49 00       LSLS            R1, R1, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B594E 03 22       MOVS            R2, #3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5950 D2 43       MVNS            R2, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5952 0A 40       ANDS            R2, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5954 8E 49       LDR             R1, =0x8F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5956 69 44       ADD             R1, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5958 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B595A C9 68       LDR             R1, [R1,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B595C 89 18       ADDS            R1, R1, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B595E 09 68       LDR             R1, [R1]  ; 取密钥</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5960 1A 88       LDRH            R2, [R3]  ; 取指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5962 4A 40       EORS            R2, R1    ; 解密</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5964 8B 4B       LDR             R3, =0x904</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5966 6B 44       ADD             R3, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5968 1A 60       STR             R2, [R3]   ; 存放指令</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">6、VMP解释执行，代码如下:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">//根据解密出来的指令计算对应的handle地址</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">eg135:C62B5968 1A 60       STR             R2, [R3]  ; 存放指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B596A FF 21       MOVS            R1, #0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B596C 11 40       ANDS            R1, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B596E 89 00       LSLS            R1, R1, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5970 40 18       ADDS            R0, R0, R1  ; 根据指令计算handle偏移</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5972 00 68       LDR             R0, [R0] ; 取handle</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5974 81 4F       LDR             R7, =0x940</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5976 6F 44       ADD             R7, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B5978 3F 68       LDR             R7, [R7]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62B597A 87 46       MOV             PC, R0  ; 跳到对应的handle执行</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">//调用JNI接口调用java方法</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2466 5D 20 80 00 MOVS            R0, #0x174</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C246A 51 4D       LDR             R5, =0x90C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C246C 6D 44       ADD             R5, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C246E 2D 68       LDR             R5, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2470 29 68       LDR             R1, [R5]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2472 0C 58       LDR             R4, [R1,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2474 4F 48       LDR             R0, =0x9A8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2476 68 44       ADD             R0, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2478 69 46       MOV             R1, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C247A 08 60       STR             R0, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C247C 28 46       MOV             R0, R5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C247E 3F 49       LDR             R1, =0x8E8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2480 69 44       ADD             R1, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2482 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2484 4D 4A       LDR             R2, =0x8E4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2486 6A 44       ADD             R2, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2488 12 68       LDR             R2, [R2]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C248A 45 4B       LDR             R3, =0x8E0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C248C 6B 44       ADD             R3, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C248E 1B 68       LDR             R3, [R3]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2490  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2490 A0 47       BLX             R4  ; CallNonvirtualVoidMethodA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62C2492 4F 48       LDR             R0, =0xC566</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">7、循环取指令解密指令到跳转到对应Handle执行的模板代码如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78E2 A4 48       LDR             R0, =(_GLOBAL_OFFSET_TABLE_ - 0xC62A78E8)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78E4 78 44       ADD             R0, PC  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78E6 97 49       LDR             R1, =0xFFFFFA84</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78E8 08 18       ADDS            R0, R1, R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78EA 93 49       LDR             R1, unk_C62A7B38</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78EC 69 44       ADD             R1, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78EE 09 68       LDR             R1, [R1]  ; 指令基址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78F0 7B 4B       LDR             R3, =0x910</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78F2 6B 44       ADD             R3, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78F4 1B 68       LDR             R3, [R3]   ; 当前要取指令的基址</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78F6 59 1A       SUBS            R1, R3, R1  ; 求也取指令的长度</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78F8 49 00       LSLS            R1, R1, #1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78FA</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78FA             loc_C62A78FA  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78FA 03 22       MOVS            R2, #3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78FC D2 43       MVNS            R2, R2  ; handle基地加上指令计算得到的偏移</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A78FE 0A 40       ANDS            R2, R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7900 91 49       LDR             R1, =0x8F0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7902</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7902             loc_C62A7902</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7902 69 44       ADD             R1, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7904 09 68       LDR             R1, [R1]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7906 C9 68       LDR             R1, [R1,#0xC]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7908 89 18       ADDS            R1, R1, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A790A 09 68       LDR             R1, [R1]  ; 取密钥</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A790C 1A 88       LDRH            R2, [R3]  ; 取指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A790E 4A 40       EORS            R2, R1    ; 解密指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7910 70 4B       LDR             R3, loc_C62A7AD4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7912 6B 44       ADD             R3, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7914 1A 60       STR             R2, [R3]   ; 存指令</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7916 FF 21       MOVS            R1, #0xFF</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7918 11 40       ANDS            R1, R2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A791A 89 00       LSLS            R1, R1, #2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A791C</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A791C             loc_C62A791C </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A791C 40 18       ADDS            R0, R0, R1  ; handle基地加上指令计算得到的偏移</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A791E 00 68       LDR             R0, [R0]  ; 取指令对应的handle</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7920 75 4F       LDR             R7, loc_C62A7AF8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7922 6F 44       ADD             R7, SP</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7924 3F 68       LDR             R7, [R7]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7926 87 46       MOV             PC, R0  ; 跳到handle执行</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">seg135:C62A7928 93 4E       LDR             R6, =0x42D</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">8、指令模拟过程</span><br style="box-sizing: border-box;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"/><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">一条VMP指令：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">48</span> <span class="code-snippet__string">10  10 19</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">48</span> <span class="code-snippet__string">10 -&gt;解密后 10 8E</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">10</span> <span class="code-snippet__string">19-&gt;字符串索引</span></span></code></pre></section><p data-source-line="17" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">上面指令是设置BaseEntity中的code字段值(int类型)，代码模拟如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16DA</span> 01 9<span class="code-snippet__selector-tag">E</span>       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R6</span>, <span class="code-snippet__selector-attr">[SP,#0x40+var_3C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16DC</span> 31 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[R6]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16DE</span> 20 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[R4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16E0</span> 82 69       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-attr">[R0,#0x18]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16E2</span> 20 46       <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16E4</span> 90 47       <span class="code-snippet__selector-tag">BLX</span>             <span class="code-snippet__selector-tag">R2</span>                      ; <span class="code-snippet__selector-tag">FindClass</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16E6</span> 07 46       <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">R7</span>, <span class="code-snippet__selector-tag">R0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16E8</span> 09 97       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R7</span>, <span class="code-snippet__selector-attr">[SP,#0x40+var_1C]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16EA</span> 2<span class="code-snippet__selector-tag">F</span> 20 <span class="code-snippet__selector-tag">C0</span> 00 <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#0x178</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16EE</span> 21 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[R4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16F0</span> 0<span class="code-snippet__selector-tag">D</span> 58       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R5</span>, <span class="code-snippet__selector-attr">[R1,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16F2</span> 73 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R3</span>, <span class="code-snippet__selector-attr">[R6,#4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16F4</span> <span class="code-snippet__selector-tag">B2</span> 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-attr">[R6,#8]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16F6</span> 20 46       <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16F8</span> 39 46       <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-tag">R7</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16FA</span> <span class="code-snippet__selector-tag">A8</span> 47       <span class="code-snippet__selector-tag">BLX</span>             <span class="code-snippet__selector-tag">R5</span>                      ; <span class="code-snippet__selector-tag">GetFieldID</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16FC</span> 08 90       <span class="code-snippet__selector-tag">STR</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-attr">[SP,#0x40+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16FE</span> 05 27       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R7</span>, <span class="code-snippet__selector-id">#5</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D1700</span> 02 21       <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-id">#2</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D1702</span> 00 28       <span class="code-snippet__selector-tag">CMP</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#0</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D1704</span> 96 <span class="code-snippet__selector-tag">D0</span>       <span class="code-snippet__selector-tag">BEQ</span>             <span class="code-snippet__selector-tag">loc_C62D1634</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D1706</span> 0<span class="code-snippet__selector-tag">F</span> 46       <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">R7</span>, <span class="code-snippet__selector-tag">R1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D1708</span> 94 <span class="code-snippet__selector-tag">E7</span>       <span class="code-snippet__selector-tag">B</span>               <span class="code-snippet__selector-tag">loc_C62D1634</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D1692</span> 6<span class="code-snippet__selector-tag">D</span> 20 80 00 <span class="code-snippet__selector-tag">MOVS</span>            <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-id">#0x1B4</span> </span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D1696</span> 21 68       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[R4]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D1698</span> 0<span class="code-snippet__selector-tag">F</span> 58       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R7</span>, <span class="code-snippet__selector-attr">[R1,R0]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D169A</span> 20 46       <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">R0</span>, <span class="code-snippet__selector-tag">R4</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D169C</span> 06 99       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R1</span>, <span class="code-snippet__selector-attr">[SP,#0x40+var_28]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D169E</span> 08 9<span class="code-snippet__selector-tag">A</span>       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R2</span>, <span class="code-snippet__selector-attr">[SP,#0x40+var_20]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16A0</span> 07 9<span class="code-snippet__selector-tag">B</span>       <span class="code-snippet__selector-tag">LDR</span>             <span class="code-snippet__selector-tag">R3</span>, <span class="code-snippet__selector-attr">[SP,#0x40+var_24]</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16A2</span> <span class="code-snippet__selector-tag">B8</span> 47       <span class="code-snippet__selector-tag">BLX</span>             <span class="code-snippet__selector-tag">R7</span>                      ; <span class="code-snippet__selector-tag">SetIntField</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">seg135</span><span class="code-snippet__selector-pseudo">:C62D16A4</span> 2<span class="code-snippet__selector-tag">F</span> 46       <span class="code-snippet__selector-tag">MOV</span>             <span class="code-snippet__selector-tag">R7</span>, <span class="code-snippet__selector-tag">R5</span></span></code></pre></section><p data-source-line="1058" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">其它指令也是类似的解释过程进行模拟执行。<br style="box-sizing: border-box;"/></p><h4 data-source-line="1059" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">五、总结</h4><p data-source-line="1060" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">梆梆企业定制版主要功能与上面产品介绍中功能相同，主要是DEX文件加壳保护、DEX抽取加密、DEX虚拟化保护(VMP)、多Dex加固保护、SO文件加壳保护。壳本身做了加壳与指令混淆，每一个Handle之间都连接着的，再加上流程上混淆，字符串加密，方法名混淆，反调试，检测自动脱壳框架，增加了一定的逆向分析难度。<br style="box-sizing: border-box;"/>从Java层到Native层都做了相应的保护，由其是代码虚拟化加上指令混淆抗破解能力还是比较强的，要想完整还原Java代码还是需要花很多的时间与精力，整体而言从个人破解者角度来说安全系数还是比较高的。</p>



<p><a href="2247483909">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=a56098e8&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247483909%26idx%3D1%26sn%3D596a4c89999923bb82331c5e34399d61%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 17 Mar 2021 12:00:00 +0800</pubDate>
    </item>
    <item>
      <title>阿里云盾反爬虫(Anti-Bot)产品方案浅析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483895&amp;idx=1&amp;sn=1d565ce193c0a99951def8731ee74c1b</link>
      <description>阿里云爬虫风险管理（Anti-Bot Service，简称Anti-Bot）针对原生App端提供安全SDK解决方案。为App提供可信通信、防机器脚本滥刷等安全防护，有效识别高风险手机、猫池、牧场等特征。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2021-01-07 19:10</span> <span style="display: inline-block;"></span>
</p>

<p>阿里云爬虫风险管理（Anti-Bot Service，简称Anti-Bot）针对原生App端提供安全SDK解决方案。为App提供可信通信、防机器脚本滥刷等安全防护，有效识别高风险手机、猫池、牧场等特征。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=f38ca06f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibW9BFRICSmm6KYXjiaHSIeq8GVcWNdmZ4JYflATqxzL5PzQyL3ULTllMpMVv4OyLf14Unc4V7lCjxw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p data-source-line="6" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">目录:</p><pre data-source-line="8" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">一、行业背景</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">二、</span>Anti-<span style="box-sizing: border-box;font-weight: bold;">Bot<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">简介</span><br/></span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">三、</span>Anti-<span style="box-sizing: border-box;font-weight: bold;">Bot<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">安全</span>SDK </span>SGAVMP<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">逆向分析</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">四、总结</span></code></pre><h4 data-source-line="14" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">一、行业背景</h4><p data-source-line="15" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">爬虫最早源于搜索引擎，它是一种按照一定的规则，自动从互联网上抓取信息数据的脚本程序，“爬虫本身不生产数据，它只是数据的搬运工”。<br style="box-sizing: border-box;"/>搜索引擎是善意的爬虫，它爬取网站的所有页面，提供给其他用户进行快速搜索和访问，给网站带来流量。为此，行业还达成了Robots君子协议，让互联网上的搜索与被搜索和谐相处。<br style="box-sizing: border-box;"/>原本双赢的局面，很快就被一些人破坏了，大量“变异”的爬虫很快充斥网络，通过模拟正常用户活动和行为，大肆进行数据窃取、资源占用、刷量刷单、薅羊毛等违法违规操作。<br style="box-sizing: border-box;"/>当前大多数业务都转移到了移动端，爬虫一般通过逆向分析APP并自行构造参数对非公开接口进行数据爬取或提交，获取对方本不愿意被大量获取的数据，并有可能给对方服务器性能造成极大损耗，尤其是近年来大数据成熟应用，吸引了许多公司肆意非法爬取其他公司的数据，竞对之间的监控等，确实形成了一定的侵害和威胁。</p><h4 data-source-line="19" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">二、Anti-Bot简介</h4><h6 data-source-line="20" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">2.1、产品简介</h6><p data-source-line="21" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">阿里云爬虫风险管理（Anti-Bot Service，简称Anti-Bot）针对原生App端提供安全SDK解决方案。为App提供可信通信、防机器脚本滥刷等安全防护，有效识别高风险手机、猫池、牧场等特征。<br style="box-sizing: border-box;"/>App端安全SDK方案集成了阿里巴巴集团多年来对抗黑灰产、羊毛党的经验和技术积累。只要App集成Anti-Bot安全SDK后，App将获得与天猫、淘宝、支付宝等App端相同的可信通信技术能力，并可共享阿里巴巴集团多年对抗黑灰产、羊毛党所积累的恶意设备指纹库，从根本上解决App端的安全问题。<br style="box-sizing: border-box;"/></p><h6 data-source-line="23" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">2.2、应用场景</h6><p data-source-line="24" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Anti-Bot提供的App端安全SDK方案解决以下原生App端的安全问题：<br style="box-sizing: border-box;"/>恶意注册、撞库、暴力破解<br style="box-sizing: border-box;"/>针对App的大流量CC攻击<br style="box-sizing: border-box;"/>短信/验证码接口被刷<br style="box-sizing: border-box;"/>薅羊毛、抢红包<br style="box-sizing: border-box;"/>恶意秒杀限时限购商品<br style="box-sizing: border-box;"/>恶意查票、刷票（例如，机票、酒店等场景）<br style="box-sizing: border-box;"/>价值资讯爬取（例如，价格、征信、融资、小说等内容）<br style="box-sizing: border-box;"/>机器批量投票<br style="box-sizing: border-box;"/>灌水、恶意评论<br style="box-sizing: border-box;"/></p><h6 data-source-line="34" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">2.3、防护总览：</h6><p data-source-line="35" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">当成功接入防护后，可以在爬虫风险管理控制台进行SDK防护配置，通过具体的防护规则过滤恶意爬虫流量。如图1所示：</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.4234375" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=c61f09a4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibW9BFRICSmm6KYXjiaHSIeq8yy8ick62hEsCw7sibj7ZicyeXAialNF13UKKSjZTBvRibtleaJmP15cvDsg%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图1<br/></p><h4 data-source-line="38" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">三、Anti-Bot安全SDK SGAVMP逆向分析</h4><h5 data-source-line="39" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">3.1、SDK文件与接口配置</h5><p data-source-line="40" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Anti-Bot SDK包含以下文件，图2所示：</p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.32608695652173914" data-s="300,640" style="" data-type="jpeg" data-w="782" src="https://wechat2rss.xlab.app/img-proxy/?k=623148f3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibW9BFRICSmm6KYXjiaHSIeq8SbticYrP4IJp93cmO4UziaEt3b817jMhWJKWiaDbsQoTOtIDFluJvvcLg%2F640%3Fwx_fmt%3Djpeg"/></p><p data-source-line="40" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">                        图2<br/></p><p data-source-line="40" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">SDK对外提供了两个接口：<br style="box-sizing: border-box;"/></p><h6 data-source-line="44" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">初始化SDK：</h6><pre data-source-line="45" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">接口定义：</span>+ (<span style="box-sizing: border-box;color: rgb(0, 134, 179);">BOOL</span>) initialize<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">接口描述：</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">功能：初始化</span>SDK<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">参数：无</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回值：</span><span style="box-sizing: border-box;color: rgb(0, 134, 179);">BOOL</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">类型。初始化成功返回</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">YES</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">，失败返回</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">NO</span><br/></code></pre><h6 data-source-line="52" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">签名请求数据：</h6><pre data-source-line="54" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">接口定义：</span>+ (<span style="box-sizing: border-box;color: rgb(0, 134, 179);">NSData</span>*) avmpSign: (<span style="box-sizing: border-box;color: rgb(0, 134, 179);">NSInteger</span>) signType input: (<span style="box-sizing: border-box;color: rgb(0, 134, 179);">NSData</span>*) input<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">接口描述：</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">功能：使用</span>avmp<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">技术对</span>input<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">的数据进行签名处理，并返回签名串</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回值：</span><span style="box-sizing: border-box;color: rgb(0, 134, 179);">NSData</span>*<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">类型，返回签名串</span></code></pre><h5 data-source-line="60" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">3.2、整体框架介绍</h5><p data-source-line="61" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">主要分为两个接口，initialize和avmpSign接口对数据进行计算签名，再将签名与数据发送到服务器。服务器通过解析wToken进行风险识别、拦截恶意请求，然后将合法请求转发回源站。签名流程如图3所示：<br style="box-sizing: border-box;"/></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="1.8125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=4ea9b092&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibW9BFRICSmm6KYXjiaHSIeq84VMEBA8Go184RrEPJtC8lUV2JIJboad1yfEgWqic1aeE87AfGa3yQicg%2F640%3Fwx_fmt%3Dpng"/></p><p data-source-line="40" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">                            图3<br/></p><h5 data-source-line="64" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">3.3、通用反逆向技巧</h5><h6 data-source-line="65" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">反IDA的F5插件</h6><p data-source-line="66" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">主要通过动态计算函数调用地址方式反IDA F5使之失效，中间插入无效指令，基本模板如下：</p><pre data-source-line="67" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C14             loc_100C14C14 <br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C14 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> LDRSW           X6, =unk_FFFFFE6C<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C18 C6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> D1 <span style="box-sizing: border-box;font-weight: bold;">SUB</span>             X6, X6, <span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x5D</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C1C C6 EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> <span style="box-sizing: border-box;font-weight: bold;">ADD</span>             X6, X6, <span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0xBB</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C20 E6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span> AA MVN             X6, X6<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C24 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> B9 LDRSW           X4, [X8]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C28 C6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> CB <span style="box-sizing: border-box;font-weight: bold;">SUB</span>             X6, X6, X4<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C2C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;font-weight: bold;">ADD</span>             X2, X2, X6<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C30 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> D2 <span style="box-sizing: border-box;font-weight: bold;">MOV</span>             X8, <span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x1F</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C34 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F D6 BR              X2<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C34           <br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C34<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C34            <br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C38 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C FE FF FF off_100C14C38 DCD unk_FFFFFE6C<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C3C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> B6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> DCD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x463BB652</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C40 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>E          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x3E</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; &gt;</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C41 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1E</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C42 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x41</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; A</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C43 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x2D</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; -</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C44 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x6E</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; n</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C45 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>F          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x8F</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C46 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x48</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; H</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C47 CE          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xCE</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C48 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x31</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; 1</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C49 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">96</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x96</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C4A DC          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xDC</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C4B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x73</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; s</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C4C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F          DCB  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xF</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C4D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x66</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; f</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C4E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x64</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; d</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C14C4F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>A          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x9A</span><br/>=================================================================================<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5264<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5264             loc_100BD5264 <br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5264 E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> LDRSW           X9, =<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFFFFFFD6</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5268 E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> AA MVN             X9, X9<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD526C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> B9 LDRSW           X0, [X10]<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5270 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;font-weight: bold;">ADD</span>             X9, X9, X0<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5274 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;font-weight: bold;">ADD</span>             X8, X8, X9<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5278 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> D2 <span style="box-sizing: border-box;font-weight: bold;">MOV</span>             X10, <span style="box-sizing: border-box;color: rgb(153, 153, 153);font-weight: bold;">#0x3B</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD527C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F D6 BR              X8<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD527C             <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; End of function sub_100BD5210</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD527C<br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD527C             <br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5280 D6 FF FF FF dword_100BD5280 DCD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFFFFFFD6</span> <br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5284 B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> DCD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x94AC0DB8</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5288 FF          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFF</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5289 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x99</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD528A AD          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xAD</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD528B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x81</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD528C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x34</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; 4</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD528D FE          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFE</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD528E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x48</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; H</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD528F FC          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFC</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5290 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x6E</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; n</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5291 F5          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xF5</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5292 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x45</span> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">; E</span><br/><span style="box-sizing: border-box;color: rgb(153, 0, 115);">__text:</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>BD5293 F3          DCB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xF3</span></code></pre><h6 data-source-line="127" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">加解字符串</h6><p data-source-line="128" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">每一个字符串常量都通过加密，使用时才解密，解密代码如下：</p><pre data-source-line="129" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">_text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDAC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> LDP             W8, W9, [X0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDB0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X1, loc_10133EDF8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDB4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDB4             loc_10133EDB4                           ; CODE XREF: Dec+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDB4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W8, W8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDB8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W8, W8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDBC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X10, X0, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDC0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> LDRB            W11, [X10,W8,UXTW]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDC4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B ADD             W9, W9, W11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDC8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W9, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDCC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> LDRB            W12, [X10,W9,UXTW]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDD0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> STRB            W12, [X10,W8,UXTW]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDD4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> STRB            W11, [X10,W9,UXTW]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDD8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> LDRB            W13, [X2],#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDDC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B ADD             W11, W12, W11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDE0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDE4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> LDRB            W10, [X10,W11,UXTW]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDE8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A EOR             W10, W10, W13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDEC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> STRB            W10, [X3],#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDF0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F1 SUBS            X1, X1, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDF4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> FE FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.NE            loc_10133EDB4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDF8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDF8             loc_10133EDF8                           ; CODE XREF: Dec+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDF8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> STP             W8, W9, [X0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010133</span>EDFC C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F D6 RET</code></pre><h6 data-source-line="156" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">加解密算法</h6><p data-source-line="157" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">根据传入不同类型的参数走不同的解密算法，switch跳转到对应的加解密算法，这些算法是在VMP外的通用算法，只要跳出虚拟机做加解密都会执行到这个地方，我已经对每一个算法重命名，代码如下：</p><pre data-source-line="158" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA719C F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F BE A9 STP             X20, X19, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x10</span>+var_10]!<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71A0 FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> A9 STP             X29, X30, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span>+var_s0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71A4 FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X29, SP, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71A8 F3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> AA MOV             X19, X1<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71AC E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> AA MOV             X9, X0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">92</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">92</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span>+MOV             W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xD9490</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71B0 AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span>+MOV             W8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xC8320</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W8, [X19]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71C4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X9, def_100B6F20C       ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71C4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">-15</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [X9,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X8, loc_104CA71DC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71D0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W1, [X9,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71D4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> CMP             W1, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1B</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71D8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.LS            loc_104CA71E4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71DC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71DC             loc_104CA71DC                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71DC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> D2 MOV             X0, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               def_100B6F20C           ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71E0                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">-15</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71E4             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71E4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71E4             loc_104CA71E4                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71E4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> D2 MOV             X0, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span>+MOV             W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xD6D80</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71E8 AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> SUB             W11, W1, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>             ; <span style="box-sizing: border-box;font-weight: bold;">switch</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> cases<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> CMP             W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x17</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71F8 C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.HI            def_100B6F20C           ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71F8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">-15</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA71FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> ADR             X12, jpt_100B6F20C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7200 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> D5 NOP<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7204 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> AB B8 LDRSW           X11, [X12,X11,LSL#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7208 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X11, X11, X12<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F D6 BR              X11                     ; <span style="box-sizing: border-box;font-weight: bold;">switch</span> jump<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7210             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7210<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7210             loc_104CA7210                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7210                                                     ; DATA XREF: __text:_cvReleaseMatND+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4681</span>BC<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o ...<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7210 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W0, [X9]                ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">-18</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7210                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">-18</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7214 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W2, [X9,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7218 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> A9 LDP             X3, X4, [X9,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA721C E5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X5, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7220 E6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> AA MOV             X6, X19<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7224 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> E6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              Aes_Dec_data            ; AES<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">加密解</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7228 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B5 CBNZ            X0, loc_104CA72CC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA722C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7230             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7230<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7230             loc_104CA7230                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7230                                                     ; DATA XREF: __text:jpt_100B6F20C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7230 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X0, [X9,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x18</span>]          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7230                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7234 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X1, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7238 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>E FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> BL              DecString_3             ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">解密字符串</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA723C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B5 CBNZ            X0, loc_104CA72CC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7240 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7244             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7244<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7244             loc_104CA7244                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7244                                                     ; DATA XREF: __text:_cvReleaseMatND+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4681</span>CC<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7244 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W0, [X9]                ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7244                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7248 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X1, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA724C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> BL              DecComper_0             ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">解压缩</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7250 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B5 CBNZ            X0, loc_104CA72CC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7254 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7258             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7258<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7258             loc_104CA7258                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7258                                                     ; DATA XREF: __text:_cvReleaseMatND+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4681</span>D0<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7258 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W0, [X9]                ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7258                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA725C E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X1, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7260 E2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> AA MOV             X2, X19<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7264 C0 C7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              base64_1                ; base64<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">加解密</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7268 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B5 CBNZ            X0, loc_104CA72CC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA726C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7270             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7270<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7270             loc_104CA7270                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7270                                                     ; DATA XREF: __text:_cvReleaseMatND+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4681</span>D4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7270 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X0, X8                  ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7270                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7274 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              Md5                     ; MD5<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">算法</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7278 A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B5 CBNZ            X0, loc_104CA72CC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA727C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7280             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7280<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7280             loc_104CA7280                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7280                                                     ; DATA XREF: __text:_cvReleaseMatND+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4681</span>D8<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7280 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X0, [X9,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x18</span>]          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7280                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7284 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X1, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7288 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              sub_104CBCBBC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA728C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B5 CBNZ            X0, loc_104CA72CC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7290 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7294             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7294<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7294             loc_104CA7294                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7294                                                     ; DATA XREF: __text:_cvReleaseMatND+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4681</span>DC<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7294 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X0, X8                  ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7294                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA7298 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              Sha1                    ; SHA1<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">算法</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA729C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B5 CBNZ            X0, loc_104CA72CC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72A4             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72A4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72A4             loc_104CA72A4                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72A4                                                     ; DATA XREF: __text:_cvReleaseMatND+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4681E0</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72A4 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X0, X8                  ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72A4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72A8 AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> BL              sub_104C82154<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B5 CBNZ            X0, loc_104CA72CC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72B4             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72B4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72B4             loc_104CA72B4                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72B4                                                     ; DATA XREF: __text:_cvReleaseMatND+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4681E4</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72B4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W0, [X9]                ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72B4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W1, [X9,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72BC E2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X2, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72C0 E3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> AA MOV             X3, X19<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72C4 D1 F3 FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> BL              sub_104CA4208<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X0, loc_104CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72CC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72CC             loc_104CA72CC                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72CC                                                     ; Algorithm_type+A0<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j ...<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> MOV             W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D0             def_100B6F20C                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D0                                                     ; Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j ...<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W10, [X19]              ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>B6F20C <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D0                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA720C <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">-15</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D4             loc_104CA72D4                           ; CODE XREF: Algorithm_type+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D4                                                     ; Algorithm_type+A4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j ...<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D4 FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> A9 LDP             X29, X30, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span>+var_s0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72D8 F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F C2 A8 LDP             X20, X19, [SP+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span>+var_10],#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CA72DC C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F D6 RET</code></pre><h5 data-source-line="304" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">3.4、签名流程分析</h5><h6 data-source-line="305" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">+[ConstantFunctions initAVMP]</h6><p data-source-line="306" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">解密内存中图片得解密yw_1222_0335_mwua.jpg图片的密钥<br style="box-sizing: border-box;"/>invokeFuncBridgeLVMBridge-&gt;Aes_Dec_data-&gt;AlgorithmHelperDecompressData,AES解密解压,解密后内容如下：</p><pre data-source-line="309" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC800  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC810  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC820  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ............@...<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC830  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span>  device_print_res<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC840  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span>  _k1sW4fu6j8rxevG<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC850  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span>  zc9UbLS0ZJyC2OnV<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC860  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>  aFhQRDqNKoPX5YkI<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC870  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C  iEtgmABpd3wT1H7l<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC880  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  Mx4.............<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC890  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E  ...............n<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC8A0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  cb2d4r22f9IbzTv9<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC8B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  m...............<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC8C0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span>  ......... ...jaq<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC8D0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  _verification_k1<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC8E0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0f</span>cb48c319ec3ee5<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC8F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  a1ab370e4321b2f3<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC900  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC910  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  ............inne<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC920  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  rk1AsWjdgo196dK2<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC930  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>Yv.............<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC940  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  ........... ...d<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC950  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span>  yupdate_42720ebb<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC960  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span>  cccfee18d7ad1aeb<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC970  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  c5b135ffa906....<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC980  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC990  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  .... ...dyupdate<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC9A0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span>  _234394682adb23b<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC9B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>ce316a4a7844f4f<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC9C0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>d0a16b60.......<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC9D0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC9E0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span>  .@...wb_sc_int_r<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>EC9F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span>  es_k14pcaBVhweRy<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA00  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>oFTmCCRhKmUCSVj<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA10  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  r5sFqemiWPOsiqk3<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA20  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span>  eNkVSXlIa9amRDbt<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA30  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  uVYD9...........<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA40  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  .............@..<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA50  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span>  .not_convert4pca<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA60  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span>  BVhweRy8oFTmCCRh<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA70  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span>  KmUCSVjr5sFqemiW<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA80  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span>  POsiqk3eNkVSXlIa<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECA90  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>amRDbtuVYD9....<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECAA0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECAB0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span>  ........white_iv<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECAC0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>zi8tey4328TcUh1<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECAD0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECAE0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F  ............wua_<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECAF0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  key_indexHHnB...<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB00  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB10  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  .....$...HHnBf19<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB20  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D  b7bc7<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0</span>afe<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-4004</span>-<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB30  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span>  bb39<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-8892</span>a50fdf5<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB40  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1.</span>..............<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB50  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  .........$..<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.000</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB60  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05817154</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-5</span>dc5<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-4</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB70  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">432</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">-8</span>b41-b148676<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB80  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  b380f...........<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECB90  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECBA0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  .sgcipher_ivj129<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECBB0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  cy2sbsm1nm4a[]<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECBC0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3081890281810084</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECBD0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06125f</span>369fde2720<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECBE0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  f7264923a63dc48e<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECBF0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1243</span>c1d9783ed44d<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC00  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>c276602d2d57007<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC10  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>d92c155b81d5899<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC20  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  e9a8a97e06353ac4<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC30  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  b044d07ca3e23336<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC40  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span>d199e0969c9648<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC50  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9f</span>6323ed5368e176<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC60  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0731704402</span>d0112c<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC70  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">002</span>ccd09a06d2794<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC80  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6269</span>a438fe4b0216<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECC90  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span>  b718b658eed9d165<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECCA0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">023f</span>24c6ddaec0af<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECCB0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6f</span>47ada8306ad0c4<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECCC0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  f0fcd80d9b691102<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001440</span>ECCD0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> FF FF FF FF FF FF FF  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03010001</span></code></pre><h6 data-source-line="389" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">-[SecurityGuardOpenAVMPGeneric createAVMPInstance:byteCodeName:]</h6><p data-source-line="390" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">打开图片文件fopen AirAsiaMobile.appp/yw_1222_0335_mwua.jpg<br style="box-sizing: border-box;"/>解析图片，定位到密文开始数据，部分数据如下：</p><pre data-source-line="392" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">开始数据，大小</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000000</span>A2C0,<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000014558</span>C000  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> DF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F D4 DB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">85</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> B3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> A3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000014558</span>C010  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> B9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E B9  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">86</span> EF E8 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> AA AF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B</code></pre><p data-source-line="40" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">上面解密出来的数据做为解密密钥前0x10字节，解密图片数据。</span></p><pre data-source-line="398" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00308189028181008406125</span>f<span style="box-sizing: border-box;color: rgb(0, 128, 128);">369</span>fde<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2720</span>f<span style="box-sizing: border-box;color: rgb(0, 128, 128);">7264923</span>a<span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span>dc<span style="box-sizing: border-box;color: rgb(0, 128, 128);">48e1243</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9783</span>ed<span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">276602</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">570073</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">92</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">155</span>b<span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">5899e9</span>a<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>a<span style="box-sizing: border-box;color: rgb(0, 128, 128);">97e06353</span>ac<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>b<span style="box-sizing: border-box;color: rgb(0, 128, 128);">044</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span>ca<span style="box-sizing: border-box;color: rgb(0, 128, 128);">3e2333677</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">199e0969</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">96489</span>f<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6323</span>ed<span style="box-sizing: border-box;color: rgb(0, 128, 128);">5368e1760731704402</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0112</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">002</span>ccd<span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span>a<span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">27946269</span>a<span style="box-sizing: border-box;color: rgb(0, 128, 128);">438</span>fe<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>b<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0216</span>b<span style="box-sizing: border-box;color: rgb(0, 128, 128);">718</span>b<span style="box-sizing: border-box;color: rgb(0, 128, 128);">658</span>eed<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">165023</span>f<span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>ddaec<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>af<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>f<span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span>ada<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8306</span>ad<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>f<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>fcd<span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>b<span style="box-sizing: border-box;color: rgb(0, 128, 128);">69110203010001</span></code></pre><p data-source-line="401" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">invokeFuncBridgeLVMBridge-&gt;Aes_Dec_data解密4次后得到数据,部分数据如下：</p><pre data-source-line="402" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">解密后开始数据</span> <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">大小</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000000</span>A28E<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000014558</span>C000  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C EC BD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F FA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B D9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">95</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000014558</span>C010  AF E5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> B5 FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F  E5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> C9 DA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span></code></pre><p data-source-line="407" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">上面解密数据的AES解密算法<br style="box-sizing: border-box;"/></p><pre data-source-line="408" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0954             loc_104CE0954                           ; CODE XREF: Aes_Dec+EC<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0954 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> MOV             W21, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0958 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W8, [X20,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE095C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> CMP             W8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0960 E3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.CC            loc_104CE0A5C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0964 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X23, [X20,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x18</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0968 B7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X23, loc_104CE0A5C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE096C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W24, [X20,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0970 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> CBZ             W24, loc_104CE0A5C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0974 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">96</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X22, [X20,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x28</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0978 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X22, loc_104CE0A5C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE097C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W26, [X20,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x30</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0980 FA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> CBZ             W26, loc_104CE0A5C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0984 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W8, W26, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0988 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> CBNZ            W8, loc_104CE0A5C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE098C BB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X27, X29, #-var_80<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0990 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [X20,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>]            ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">异或密钥</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0994 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X8, loc_104CE09A0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0998 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D LDR             Q0, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE099C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D STR             Q0, [X27,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09A0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09A0             loc_104CE09A0                           ; CODE XREF: Aes_Dec+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B0<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09A0 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X0, SP, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x6A0</span>+var_688  ; <span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> MOV             W1, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x204</span>              ; size_t<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              _bzero<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09AC E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X0, SP, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x6A0</span>+var_688<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09B0 E2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> AA MOV             X2, X24<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09B4 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> AA MOV             X1, X23<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> FE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> BL              InitAeskey              ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">初始化密钥</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09BC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W23, W26, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09C0 BF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> A9 STP             XZR, XZR, [X29,#var_80]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09C4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> CBZ             W23, loc_104CE0A34<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> MOV             W24, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09CC BC C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> D1 SUB             X28, X29, #-var_70<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09D0 F5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> AA MOV             X21, X19<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09D4             loc_104CE09D4                           ; CODE XREF: Aes_Dec+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">240</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09D4 C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D LDR             Q0, [X22]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09D8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D STR             Q0, [X27]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09DC E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X0, SP, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x6A0</span>+var_688<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09E0 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> AA MOV             X1, X21<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09E4 E2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> AA MOV             X2, X22<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> FE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> BL              AES_Dec                 ; X0:<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">初始化后密钥</span>,x1:<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span>,X2:<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">原始数据</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> D2 MOV             X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09F0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09F0             loc_104CE09F0                           ; CODE XREF: Aes_Dec+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">224</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> LDRB            W9, [X28,X8]            ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">异或密钥</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09F4 AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> LDRB            W10, [X21,X8]           ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">加密后数据</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A EOR             W9, W10, W9				; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">异或加密</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE09FC A9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> STRB            W9, [X21,X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A00 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X8, X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A04 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F1 CMP             X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A08 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> FF FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.NE            loc_104CE09F0           ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">异或密钥</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A0C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D LDR             Q0, [X27]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A10 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D STR             Q0, [X27,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A14 D6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X22, X22, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A18 B5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X21, X21, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A1C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W24, W24, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A20 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B CMP             W24, W23<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A24 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> FD FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.NE            loc_104CE09D4<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A28<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A28             loc_104CE0A28                           ; CODE XREF: Aes_Dec+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A28 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W1, W26, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFFFFFFF0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A2C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> CBNZ            W1, loc_104CE0A3C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A30 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104CE0A58<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A34             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A34<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A34             loc_104CE0A34                           ; CODE XREF: Aes_Dec+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">144</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A34                                                     ; Aes_Dec+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1E0</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A34 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> MOV             W1, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A38 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> CBZ             W1, loc_104CE0A58<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A3C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A3C             loc_104CE0A3C                           ; CODE XREF: Aes_Dec+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">248</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A3C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">82</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X2, [X20,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x38</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A40 E4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> MOV             W4, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A44 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> AA MOV             X0, X19                 ; <span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A48 B7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> BL              memcpy_0                ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">拷贝加密后数据</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A4C F5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> AA MOV             X21, X0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A50 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B5 CBNZ            X25, loc_104CE0A60<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>CE0A54 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C FF FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> B               loc_104CE0884</code></pre><p data-source-line="490" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">解压解密后数据，部分数据如下：<br style="box-sizing: border-box;"/></p><pre data-source-line="491" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">开始</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400010</span> <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">大小</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000001</span>CD20<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400010</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ....com.test....<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400020</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400030</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400040</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F  ............wua_<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400050</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  key_indexKIUR...<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400060</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400070</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span>  .....$...KIURf17<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400080</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>ef3c-c43c<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-441</span>b-<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400090</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  b1a5<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-5</span>f8bb6c9ef4<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464000</span>A0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>[]<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0030818902818</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464000</span>B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1008406125</span>f369fd<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464000</span>C0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  e2720f7264923a63<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464000</span>D0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  dc48e1243c1d9783<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464000E0</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  ed44d8c276602d2d<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464000</span>F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">570073</span>d92c155b81<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400100</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  d5899e9a8a97e063<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400110</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>ac4b044d07ca3e<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400120</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2333677</span>d199e0969<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400130</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  c96489f6323ed536<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400140</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8e1760731704402</span>d<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400150</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0112</span>c002ccd09a06<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400160</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  d27946269a438fe4<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400170</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  b0216b718b658eed<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400180</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>d165023f24c6dda<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400190</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  ec0af6f47ada8306<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464001</span>A0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span>  ad0c4f0fcd80d9b6<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464001</span>B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9110203010001.</span>..<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464001</span>C0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464001</span>D0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ................<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464001E0</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> CB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F  .........(...bc_<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464001</span>F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> D0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  sgcipher........<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400200</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>  .........F..)@&#39;I<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400210</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span>  IIIIjq...{p.Ha.x<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400220</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> E3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span>  .A.x...x...xH...</code></pre><p data-source-line="528" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">解压函数</p><pre data-source-line="529" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">解压缩</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             ; Attributes: bp-based frame<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             decompression                           ; CODE XREF: decompression_1+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>p<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_A0= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xA0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_98= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x98</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_90= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x90</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_88= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x88</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_80= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x80</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_78= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x78</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_60= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x60</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_50= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x50</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_30= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x30</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_20= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x20</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_10= <span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660             var_s0=  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77660 FF C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             SP, SP, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77664 F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> A9 STP             X24, X23, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_30]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77668 F6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> A9 STP             X22, X21, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_20]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7766C F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> A9 STP             X20, X19, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_10]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77670 FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A A9 STP             X29, X30, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_s0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77674 FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X29, SP, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77678 F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> AA MOV             X20, X2<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7767C F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> AA MOV             X24, X1<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77680 F5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> AA MOV             X21, X0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77684 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> D2 MOV             X19, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77688 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> MOV             W22, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFFFFFFFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7768C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">95</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X21, loc_104C776BC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77690 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X24, loc_104C776BC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77694 FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> A9 STP             XZR, XZR, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_60]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77698 FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             XZR, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_50]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7769C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B0+ADRL            X1, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104F20483</span>         ; version<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7769C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776A4 E2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> MOV             W2, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x70</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39;p&#39;</span>         ; stream_size<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776A8 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> MOV             X0, SP                  ; strm<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776AC C9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              _inflateInit_<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> CBZ             W0, loc_104C776E0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776B4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> D2 MOV             X19, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776B8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776B8             loc_104C776B8                           ; CODE XREF: decompression+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> MOV             W22, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFFFFFFFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776BC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776BC             loc_104C776BC                           ; CODE XREF: decompression+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776BC                                                     ; decompression+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j ...<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776BC E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> AA MOV             X0, X19                 ; <span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              free<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776C4 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> AA MOV             X0, X22<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776C8 FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A A9 LDP             X29, X30, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_s0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776CC F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> A9 LDP             X20, X19, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_10]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776D0 F6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> A9 LDP             X22, X21, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_20]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776D4 F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> A9 LDP             X24, X23, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_30]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776D8 FF C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             SP, SP, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776DC C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F D6 RET<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776E0             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776E0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776E0             loc_104C776E0                           ; CODE XREF: decompression+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B ADD             W23, W24, W24,LSL#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776E4 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> AA MOV             X0, X23<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776E8 A3 D2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              malloc_0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776EC F3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> AA MOV             X19, X0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776F0 F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W24, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_98]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> FE FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> CBZ             W24, loc_104C776B8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> MOV             W24, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C776FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> MOV             W22, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFFFFFFFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77700<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77700             loc_104C77700                           ; CODE XREF: decompression+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77700 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [X19,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x38</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77704 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> AA MOV             X0, X19<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77708 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F D6 BLR             X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7770C E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_90]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77710 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X21, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77714 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_A0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77718 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [X19]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7771C E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_88]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77720 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W8, [X19,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xC</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77724 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_80]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77728 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> MOV             X0, SP                  ; strm<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7772C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> MOV             W1, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>                  ; flush<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77730 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              _inflate<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77734 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> CMP             W0, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77738 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.HI            loc_104C77784<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7773C E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_98]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77740 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> AA MOV             X8, X23<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77744 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> CBNZ            W9, loc_104C77750<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77748 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_78]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7774C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B ADD             W8, W24, W8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77750<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77750             loc_104C77750                           ; CODE XREF: decompression+E4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77750 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W8, [X19,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77754 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [X20,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x58</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77758 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> AA MOV             X0, X20<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7775C E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> AA MOV             X1, X19<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77760 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F D6 BLR             X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77764 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> MOV             X0, SP                  ; strm<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77768 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              _inflateEnd<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7776C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> FA FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> CBNZ            W0, loc_104C776BC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77770 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> MOV             W22, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77774 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>+var_98]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77778 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B SUB             W24, W24, W23<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C7777C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> FC FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> CBNZ            W8, loc_104C77700<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77780 CF FF FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> B               loc_104C776BC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77784             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77784<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77784             loc_104C77784                           ; CODE XREF: decompression+D8<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77784 F6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> AA MOV             X22, X0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>C77788 CD FF FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> B               loc_104C776BC</code></pre><p data-source-line="639" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">解析解压后的数据定位到bycode，根据标记bc_sgcipher定位后面的为bycode，部分数据如下：</p><pre data-source-line="640" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">开始数据</span>,<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">大小</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000001</span>CB28<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400000</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> D0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400010</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400020</span>  FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400030</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> E3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146400040</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span>  C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span></code></pre><h5 data-source-line="648" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">3.5、虚拟机分析</h5><h6 data-source-line="649" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">+[JAQAVMPSignature avmpSign:input:]</h6><p data-source-line="650" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">客户端向服务器端发送数据时，需要调用avmpSign接口对整个body数据进行签名处理，所得到的签名串就是wToken。进入VM前对输入参数进行处理，对输入参数进行异或加密，代码如下：<br style="box-sizing: border-box;"/></p><pre data-source-line="652" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9667C E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B C1 A8 LDP             X0, X30, [SP],#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span>     ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">加密数据</span>-<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">进入</span>VM<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96680 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A F8 LDUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x58</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96684 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X9, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96688 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D B2 MOV             X10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x18</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9668C AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> F8 LDUR            X11, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xA0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96690 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X10, X11, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96694 AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>E F8 LDUR            X12, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x18</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96698 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X10, X12, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9669C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X10, X10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W1, [X10]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966A4 A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D F8 LDUR            X0, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x28</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966A8 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             X10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x78</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F D6 BLR             X9<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">92</span> MOV             X3, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFFFFFFFFFFFFFFFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966B4 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x80</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X1, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966BC E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x78</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> B9 LDRSW           X2, [X9]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966C4 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             X0, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x70</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              ___memcpy_chk<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966CC A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A F8 LDUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x60</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966D0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X9, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966D4 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x78</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966D8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W2, [X10]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966DC AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D F8 LDUR            X11, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x28</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966E0 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             X0, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x68</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966E4 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B AA MOV             X0, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966E8 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X1, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x70</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F D6 BLR             X9                      ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">加密</span>input<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">数据</span>R1<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966F0 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>B F8 LDUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x50</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X9, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966F8 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x70</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D966FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> CB SUB             X9, X10, X9<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96700 E2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> AA MOV             X2, X9<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96704 A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D F8 LDUR            X0, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x28</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96708 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B BF A9 STP             X0, X30, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x10</span>]!<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9670C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> LDR             W0, =<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96710 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> FE FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> BL              loc_104D960DC<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96710             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96714 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> dword_104D96714 DCD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>               <br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96718             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96718 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B C1 A8 LDP             X0, X30, [SP],#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9671C A1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E B8 STUR            W1, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x20</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96720 A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D F8 STUR            X0, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x28</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96724 A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D B8 STUR            W4, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x2C</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96728 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C F8 STUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x38</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9672C A9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C F8 STUR            X9, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x40</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96730 AA C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B B8 STUR            W10, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x44</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96734 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.EQ            loc_104D96764<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96738 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> D2 MOV             X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9673C A9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D F8 LDUR            X9, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x28</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96740 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X10, X9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x78</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39;x&#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96744 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X11, X9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96748 AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>C F8 LDUR            X12, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x40</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9674C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X13, X12, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x98</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96750 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B F8 STUR            X13, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x50</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96754 AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>A F8 STUR            X10, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x58</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96758 AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>A F8 STUR            X11, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x60</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9675C A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span> F8 STUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x68</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96760 B9 FE FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> B               loc_104D96244<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96764             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96764<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96764             loc_104D96764                           ; CODE XREF: __text:<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> std::__1::__tree_right_rotate&lt;std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *&gt;(std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *)+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D280<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96764                                                     ; __text:<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> std::__1::__tree_right_rotate&lt;std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *&gt;(std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *)+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D6E8<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96764 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D F8 LDUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x28</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96768 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X9, [X8,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x30</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D9676C E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X0, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96770 A1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>E B8 LDUR            W1, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x20</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96774 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F D6 BLR             X9                      ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">进入</span>VM<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D96778 A1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D B8 LDUR            W1, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x2C</span>]<br/></code></pre><p data-source-line="724" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">要签名的请求体数据</p><pre data-source-line="725" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464203E0</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  data=%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FsK4HWlF8<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464203</span>F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span>  dupf1FjFktF%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>BiY<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420400</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span>  ZVswuG4vBuAhACLX<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420410</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  QLoM8fnyUkkqdGC1<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420420</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span>  Qn4ClMaKz%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420430</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A  T%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>BfFerXT2qoo4Z<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420440</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span>  A13vrmFJrxaDGHDP<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420450</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C  AAg7TUdoSAAUi3Al<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420460</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span>  ke38%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>Fvye%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420470</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  M%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>Bht%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FLz%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420480</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>  AVlomfauMr0QIQXA<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420490</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>Mxivl0EEG4PYFQu<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464204</span>A0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span>  sjZlr4GJZfNTJOjH<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464204</span>B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  Roo5bQlAYqB1Iop0<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464204</span>C0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span>  J%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AHmQjCa2MC<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464204</span>D0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>  Blw7e%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F176CVGyA<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464204E0</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>  yWo88P9YTWcF%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>BS<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464204</span>F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>  M1b4d55v%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FHhdYA<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420500</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  yBA6i23aDmtHy%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420510</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span>  %<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>Aa15vrc%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FDMlB<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420520</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  vjyInqMvHMXJCG9D<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420530</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span>  NO0zjfzCNrFB33kQ<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420540</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  V9XrDsPyBRdMgW88<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420550</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>  aI7dP%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AGDfQF<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420560</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  oK2qAP49hyPOw3ID<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420570</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>  FV3rsb9U0k9%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F0%<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420580</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>BwPc4EV%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>Bp%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B0<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420590</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span>  %<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FuXnGuaXYWkiRP<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464205</span>A0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  RqT9j%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AgoRy9<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464205</span>B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>n4C7QUd%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>Be330V<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464205</span>C0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>  LhPtFmGZZ9ooozPS<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464205</span>D0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">77</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span>  UNNEpdaVF1wCnfBT<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464205E0</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>  itE%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FKNP%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FF%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464205</span>F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>  RT%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AWaTlA<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420600</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span>  Zsq0dRToAiMTRIEh<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420610</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  uEmJLrBpOMCstT%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420620</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span>  F3nJlxhYMKAm0DZY<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420630</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  WSm1TehppuoNJ%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420640</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span>  %<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A5dZQd6IQuleQc<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420650</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span>  FqKJ9B1FFRcIAi95<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420660</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>We3xno27LhUNVGK<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420670</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>DIyNqj96HKyc4cx<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420680</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>Jz%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>ARLNRRDV<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420690</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span>  ANFIGCrGo%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FVDB1<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464206</span>A0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>dvAA6MhfcEkMAnU<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464206</span>B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  cUAfE6b3KtXqVBJD<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001464206</span>C0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  as6sbD3PCpp<br/></code></pre><p data-source-line="774" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">当参数准备好后将进入VM，代码如下：</p><pre data-source-line="775" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A38 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B C1 A8 LDP             X0, X30, [SP+arg_0],#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A3C FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F BD A9 STP             X28, X27, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x10</span>+var_20]!<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A40 F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> A9 STP             X20, X19, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span>+var_10]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A44 FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> A9 STP             X29, X30, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span>+arg_0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A48 FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X29, SP, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span>+arg_0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A4C FF C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C D1 SUB             SP, SP, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x330</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A50 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> D2 MOV             X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A54 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> MOV             W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFFFFFFFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A58 AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X10, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>         ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">分配空间</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A5C AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X11, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA4</span>         ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">分配空间</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A60 E2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X2, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A64 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X12, X0, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A68 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X13, [X0,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A6C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> D2 MOV             X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1D60</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A70 AE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X14, X13, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A74 A9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D B9 STR             W9, [X13,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1D60</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A78 BF C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> B8 STUR            WZR, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xA4</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A7C AF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X15, [X13,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x90</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A80 B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X16, [X13,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x98</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A84 B1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> LDRB            W17, [X13,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A88 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> UXTB            W3, W17<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A8C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A ORR             W4, W3, W3,LSL#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A90 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">85</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSL             W5, W4, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A94 E6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> AA MOV             X6, X1<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A98 C6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X6, X6, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89A9C A7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X7, [X13,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x88</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AA0 F3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X19, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AA4 C6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X6, X6, X19<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AA8 E6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X6, X7, X6<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AAC C1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W1, [X6]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AB0 B4 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W20, [X13,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xAC</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AB4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> SUB             W20, W20, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AB8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> F1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X6, X10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x3C</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39;&lt;&#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89ABC B4 C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span> B8 STUR            W20, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x64</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AC0 B4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span> B8 STUR            W20, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x68</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AC4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A D1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X10, X10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x34</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39;4&#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AC8 A9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span> B8 STUR            W9, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x6C</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89ACC A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> F8 STUR            X0, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xB0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AD0 A5 C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B8 STUR            W5, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xB4</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AD4 A1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B8 STUR            W1, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xB8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AD8 AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> F8 STUR            X10, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xC0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89ADC A6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> F8 STUR            X6, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xC8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AE0 AE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> F8 STUR            X14, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xD0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AE4 A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> F8 STUR            X2, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xD8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AE8 AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> F8 STUR            X12, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AEC AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> F8 STUR            X13, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AF0 AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> F8 STUR            X11, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xF0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AF4 AF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> F8 STUR            X15, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xF8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AF8 B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> F8 STUR            X16, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x100</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89AFC F1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> B9 STR             W17, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+xorkey1]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B00 E3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> B9 STR             W3, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+xorkey2]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B04 E4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> B9 STR             W4, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_10C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B08 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> F9 STR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_118]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B0C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B0C             loc_104D89B0C                           ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">128</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B0C E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> F9 LDR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_118]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B10 E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B2 MOV             X9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B14 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F B2 MOV             X10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xE</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B18 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> CB SUB             X10, X10, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B1C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> D2 MOV             X11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1D60</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B20 AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> F8 LDUR            X12, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B24 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X11, X12, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B28 ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B2C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X10, X10, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B30 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X10, X11, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B34 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W14, [X10]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B38 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> CB SUB             X9, X9, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B3C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> D2 MOV             X10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1D60</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B40 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X10, X12, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B44 EB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B48 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X9, X9, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B4C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X9, X10, X9<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B50 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W14, [X9]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B54 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X8, X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B58 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F1 CMP             X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B5C E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> F9 STR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_118]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B60 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> FD FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.NE            loc_104D89B0C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B64 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X8, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B68 A9 C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B8 LDUR            W9, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xB4</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B6C EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_10C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B70 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A ORR             W11, W9, W10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B74 AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B8 LDUR            W12, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xB8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B78 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> F8 LDUR            X13, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xD0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B7C AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W12, [X13]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B80 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> C1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X8, X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x30</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39;0&#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B84 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> ASR             W14, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B88 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>F B3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> D2 MOV             X15, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1D9C</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B8C B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> F8 LDUR            X16, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B90 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X15, X16, X15<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B94 EB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> B9 STR             W11, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+xorkey]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B98 EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> B9 STR             W12, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_120]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89B9C E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> F9 STR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+ZF]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BA0 EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> B9 STR             W14, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_12C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BA4 EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> F9 STR             X15, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_138]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BA8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BA8             loc_104D89BA8                           ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">293</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BA8 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_120] ; VM<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">分发器</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BAC A9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> F8 LDUR            X9, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xF8</span>]        ; bycode<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">地址</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BB0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> B8 LDR             W10, [X9,W8,UXTW#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>]     ; index<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BB4 EB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X11, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BB8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W10, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x3F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BBC EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X12, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BC0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> SUBS            W10, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x3F</span>         ; <span style="box-sizing: border-box;font-weight: bold;">switch</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> cases<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BC4 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> B9 STR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C] ; bycodeindex<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BC8 EB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> B9 STR             W11, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_140]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BCC EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> F9 STR             X12, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_148]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BD0 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> B9 STR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_14C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BD4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.HI            Handle_13_16_21_29_45_53_61_index ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BD4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BD8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F0+ADRL            X8, <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BD8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BE0 E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> F9 LDR             X9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_148]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BE4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> A9 B8 LDRSW           X10, [X8,X9,LSL#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>]      ; x8<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">为</span>hander<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">表首地址</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BE8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X10, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F D6 BR              X8                      ; <span style="box-sizing: border-box;font-weight: bold;">switch</span> jump<br/></code></pre><p data-source-line="892" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">该VM的Handle有70个左右，下面Handle表，有部分Handle己经根据功能命名了，如下：<br style="box-sizing: border-box;"/></p><pre data-source-line="894" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">_text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3E0 E0 D9 FF FF jpt_100C51BEC DCD Handle_0_LSL - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jump table <span style="box-sizing: border-box;font-weight: bold;">for</span> <span style="box-sizing: border-box;font-weight: bold;">switch</span> statement<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3E4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> D8 FF FF DCD Handle_1_9_17_25_33_41_49_57 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3E4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3E8 E8 DD FF FF DCD Handle_2_2_CallFunc - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>   ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3E8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> EC FF FF DCD Handle_3_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3EC                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> F6 FF FF DCD Handle_4_MUL_ADD - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>      ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3F0                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> E4 FF FF DCD Handle_5_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3F4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> EB FF FF DCD Handle_6_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3F8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3FC DC F2 FF FF DCD Handle_7_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C3FC                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C400 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> FC FF FF DCD Handle_8_EOR - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C400                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C404 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> D8 FF FF DCD Handle_1_9_17_25_33_41_49_57 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C404                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C408 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C F1 FF FF DCD Handle_10 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C408                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C40C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> ED FF FF DCD Handle_11 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C40C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C410 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> F3 FF FF DCD Handle_12_F - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>           ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C410                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C414 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> FE FF FF DCD Handle_13_16_21_29_45_53_61_index - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C414                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C418 BC EB FF FF DCD Handle_14 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C418                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C41C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> FB FF FF DCD Handle_15 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C41C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C420 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> FE FF FF DCD Handle_13_16_21_29_45_53_61_index - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C420                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C424 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> D8 FF FF DCD Handle_1_9_17_25_33_41_49_57 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C424                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C428 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> F1 FF FF DCD Handle_18 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C428                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C42C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> EA FF FF DCD Handle_19 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C42C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C430 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span> D9 FF FF DCD Handle_20 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C430                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C434 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> FE FF FF DCD Handle_13_16_21_29_45_53_61_index - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C434                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C438 D4 EC FF FF DCD Handle_22 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C438                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C43C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> F5 FF FF DCD Handle_23 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C43C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C440 C4 DC FF FF DCD Handle_24_AND_EOR - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C440                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C444 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> D8 FF FF DCD Handle_1_9_17_25_33_41_49_57 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C444                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C448 CC DD FF FF DCD Handle_26 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C448                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C44C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> F2 FF FF DCD Handle_27 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C44C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C450 A8 DB FF FF DCD Handle_28 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C450                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C454 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> FE FF FF DCD Handle_13_16_21_29_45_53_61_index - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C454                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C458 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> E1 FF FF DCD Handle_30 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C458                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C45C B8 D8 FF FF DCD Handle_31 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C45C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C460 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> FD FF FF DCD Handle_32_LSR - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>         ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C460                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C464 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> D8 FF FF DCD Handle_1_9_17_25_33_41_49_57 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C464                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C468 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> DA FF FF DCD Handle_34 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C468                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C46C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> E0 FF FF DCD Handle_35 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C46C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C470 C8 F5 FF FF DCD Handle_36_isZF - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>        ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C470                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C474 C0 EE FF FF DCD Handle_37 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C474                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C478 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> DF FF FF DCD Handle_38 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C478                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C47C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span> F4 FF FF DCD Handle_39 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C47C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C480 DC FB FF FF DCD Handle_40_genOffset - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>   ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C480                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C484 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> D8 FF FF DCD Handle_1_9_17_25_33_41_49_57 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C484                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C488 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> EE FF FF DCD Handle_42_ORR - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>         ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C488                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C48C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C EF FF FF DCD Handle_43 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C48C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C490 B8 EF FF FF DCD Handle_44_getValue - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>    ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C490                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C494 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> FE FF FF DCD Handle_13_16_21_29_45_53_61_index - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C494                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C498 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> E1 FF FF DCD Handle_46 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C498                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C49C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> DB FF FF DCD Handle_47 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C49C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4A0 AC F7 FF FF DCD Handle_48_JMP - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>         ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4A0                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> D8 FF FF DCD Handle_1_9_17_25_33_41_49_57 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4A4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> DD FF FF DCD Handle_50 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4A8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4AC BC DE FF FF DCD Handle_51 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4AC                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> F4 FF FF DCD Handle_52_EOR - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>         ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4B0                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4B4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> FE FF FF DCD Handle_13_16_21_29_45_53_61_index - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4B4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C EA FF FF DCD Handle_54 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4B8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4BC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F6 FF FF DCD Handle_55 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4BC                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C F7 FF FF DCD Handle_56 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4C0                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4C4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> D8 FF FF DCD Handle_1_9_17_25_33_41_49_57 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4C4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4C8 D8 DF FF FF DCD Handle_58 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4C8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> F0 FF FF DCD Handle_59 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4CC                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4D0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C DC FF FF DCD Handle_60 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4D0                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4D4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> FE FF FF DCD Handle_13_16_21_29_45_53_61_index - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span> ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4D4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4D8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> E9 FF FF DCD Handle_62 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4D8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4DC F0 FC FF FF DCD Handle_63 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C3E0</span>             ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4DC                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4E0 F0 F6 FF FF jpt_100C53BCC DCD Handle_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span> ; jump table <span style="box-sizing: border-box;font-weight: bold;">for</span> <span style="box-sizing: border-box;font-weight: bold;">switch</span> statement<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4E4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> F7 FF FF DCD Handle_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span>              ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4E4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8BBCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> F7 FF FF DCD Handle_2 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span>              ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4E8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8BBCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4EC EC F7 FF FF DCD Handle_3 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span>              ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4EC                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8BBCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F8 FF FF DCD Handle_4_Cmp - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4F0                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8BBCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> F8 FF FF DCD Handle_5_CMP - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4F4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8BBCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4F8 E8 F8 FF FF DCD Handle_6_CmpIndex - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span>     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4F8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8BBCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C F9 FF FF DCD Handle_7_Cmp - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C4FC                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8BBCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C500 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span> F9 FF FF DCD Handle_8_0_CmpEnd - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span>     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C500                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8BBCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C504 E4 F9 FF FF DCD Handle_9_CmpIndex - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C4E0</span>     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C504                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8BBCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C508 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C E6 FF FF jpt_100C528F8 DCD Handle_0_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span> ; jump table <span style="box-sizing: border-box;font-weight: bold;">for</span> <span style="box-sizing: border-box;font-weight: bold;">switch</span> statement<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C50C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span> E5 FF FF DCD Handle_1_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C50C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C510 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C E5 FF FF DCD Handle_2_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C510                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C514 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>C E4 FF FF DCD Handle_3_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C514                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C518 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C E7 FF FF DCD Handle_4_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C518                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C51C D8 E4 FF FF DCD Handle_5_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C51C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C520 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C E6 FF FF DCD Handle_6_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C520                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C524 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span> E5 FF FF DCD Handle_7_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C524                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C528 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C E6 FF FF DCD Handle_8_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C528                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C52C B8 E3 FF FF DCD Handle_9_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C52C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C530 DC E6 FF FF DCD Handle_10_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>           ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C530                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C534 F4 E3 FF FF DCD Handle_11_0 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C508</span>           ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C528F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C534                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A8F8 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C538 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> E0 FF FF jpt_100C525B4 DCD Handle_0_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span> ; jump table <span style="box-sizing: border-box;font-weight: bold;">for</span> <span style="box-sizing: border-box;font-weight: bold;">switch</span> statement<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C53C C0 E0 FF FF DCD Handle_1_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C525B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C53C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A5B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C540 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> E1 FF FF DCD Handle_2_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C525B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C540                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A5B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C544 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> E1 FF FF DCD Handle_3_2 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C525B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C544                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A5B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C548 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> E1 FF FF DCD Handle_4_2 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C525B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C548                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A5B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C54C C0 E1 FF FF DCD Handle_5_2 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C525B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C54C                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A5B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C550 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> E2 FF FF DCD Handle_6_2 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C525B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C550                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A5B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C554 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> E2 FF FF DCD Handle_7_2 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C525B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C554                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A5B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C558 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> E2 FF FF DCD Handle_8_2 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C525B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C558                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A5B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8C55C C0 E2 FF FF DCD Handle_9_1 - <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x104D8C538</span>            ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C525B4 <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span><br/></code></pre><p data-source-line="1083" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">VMP中再次异或加密input数据，基本流程如下：<br style="box-sizing: border-box;"/>Handle_44_getValue //取数据<br style="box-sizing: border-box;"/></p><pre data-source-line="1085" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453398</span>             Handle_44_getValue                      ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453398</span>                                                     ; DATA XREF: __text:<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> std::__1::__tree_right_rotate&lt;std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *&gt;(std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *)+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">13444</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453398</span> A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X0, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA4</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453398</span>                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345339</span>C A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X8, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>A0 E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_140]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W10, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W11, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W12, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1B</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>B4 ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C AA MOV             X13, X12<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>B8 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X13, X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>BC EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>C0 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X13, X13, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>C4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X13, X8, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>C8 AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W12, [X13]              ; Handle_40<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">计算的值</span>,<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">偏移值</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>CC ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C AA MOV             X13, X12<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>D0 AE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> F8 LDUR            X14, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x100</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>D4 CD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X13, X14, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>D8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSL             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>DC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> ASR             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533E0</span> EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B AA MOV             X15, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533E4</span> EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> SXTW            X15, W15<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533E8</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X13, X13, X15<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>EC AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> LDRB            W11, [X13]              ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">取异或后</span>sha1<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">值</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>F0 EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W12, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+xorkey1]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A EOR             W11, W11, W12           ; <span style="box-sizing: border-box;font-weight: bold;">xor</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034533</span>FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> UXTB            W11, W11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453400</span> ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X13, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453404</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X13, X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453408</span> EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X15, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345340</span>C AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X13, X13, X15<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453410</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X8, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453414</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W11, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453418</span> A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> F8 LDUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xC8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345341</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W3, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453420</span> E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X1, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453424</span> A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> F8 LDUR            X2, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453428</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              sub_103454688<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345342</span>C E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453430</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453434</span> E0 B7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W0, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_29C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453438</span> EA D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_180]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345343</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_10345427C           ; <span style="box-sizing: border-box;font-weight: bold;">case</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span> index<br/></code></pre><p data-source-line="1132" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Handle_52_EOR //异或加密<br style="box-sizing: border-box;"/></p><pre data-source-line="1133" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034537</span>F4             Handle_52_EOR                           ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034537</span>F4                                                     ; DATA XREF: __text:<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> std::__1::__tree_right_rotate&lt;std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *&gt;(std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *)+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">13464</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034537</span>F4 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X8, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034537</span>F4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034537</span>F8 E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_140]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034537</span>FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453800</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W10, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453804</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W11, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453808</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W12, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1B</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345380</span>C ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X13, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453810</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X13, X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453814</span> EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453818</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X13, X13, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345381</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X13, X8, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453820</span> AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W10, [X13]              ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">取</span>Handle_44<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">加密后的</span>sha1<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">值</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453824</span> EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W15, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+xorkey2]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453828</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A EOR             W10, W10, W15<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345382</span>C ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C AA MOV             X13, X12<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453830</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X13, X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453834</span> EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453838</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X13, X13, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345383</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X8, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453840</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W12, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453844</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSL             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453848</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B ADD             W11, W12, W11,ASR#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345384</span>C E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B AA MOV             X8, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453850</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X8, X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453854</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> F8 LDUR            X13, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x100</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453858</span> A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X13, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345385</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> STRB            W10, [X8]               ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">存</span>sha1<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">值与存其它值</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453860</span> EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453864</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W11, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453868</span> EB D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W11, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_180]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345386</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_10345427C           ; <span style="box-sizing: border-box;font-weight: bold;">case</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span> index<br/></code></pre><p data-source-line="1169" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Handle_13_16_21_29_45_53_61_index //index++<br style="box-sizing: border-box;"/></p><pre data-source-line="1170" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>F8             Handle_13_16_21_29_45_53_61_index       ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>F8                                                     ; VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>F8                                                     ; DATA XREF: ...<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>F8 A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X0, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA4</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>F8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>BEC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span>, cases <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span>,<span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>FC A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X8, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454200</span> E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_140]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454204</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454208</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W10, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345420</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W11, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454210</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454214</span> EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B AA MOV             X12, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454218</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X12, X12, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345421</span>C ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454220</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X12, X12, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454224</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X12, X8, X12<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454228</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W11, [X12]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345422</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B ADD             W11, W11, W9,LSR#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span>     ; index++<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454230</span> EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X12, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454234</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X12, X12, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454238</span> ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345423</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X12, X12, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454240</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X8, X12<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454244</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W11, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454248</span> A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> F8 LDUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xC8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345424</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W3, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454250</span> E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X1, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454254</span> A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> F8 LDUR            X2, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454258</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              sub_103454688<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345425</span>C E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454260</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454264</span> E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W0, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_318]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454268</span> EA D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_180]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345426</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_10345427C           ; <span style="box-sizing: border-box;font-weight: bold;">case</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span> index<br/></code></pre><p data-source-line="1206" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Handle_9_CmpIndex //判断是否结束<br style="box-sizing: border-box;"/></p><pre data-source-line="1207" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EC4             Handle_9_CmpIndex                       ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2194</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EC4                                                     ; DATA XREF: __text:<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> std::__1::__tree_right_rotate&lt;std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *&gt;(std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *)+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">134</span>B8<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EC4 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X8, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EC4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>BCC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EC8 E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W0, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_2FC]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>ECC E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> AA MOV             X9, X0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>ED0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X9, X9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>ED4 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>ED8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X9, X9, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EDC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X9, X8, X9<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EE0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W11, [X9]               ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">取总</span>index<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EE4 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W1, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_300]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EE8 E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> AA MOV             X9, X1<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EEC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X9, X9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EF0 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EF4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X9, X9, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EF8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X8, X9<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>EFC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W12, [X8]               ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">取当前</span>index<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F00 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B CMP             W11, W12                ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">判断是否结束</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F04 EB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>A CSET            W11, NE<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F08 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F0C E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> F9 LDR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+ZF]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F10 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W11, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F14             def_100C53BCC                           ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">217</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F14                                                     ; VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">21E8</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j ...<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F14 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C] ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C53BCC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F14                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>BCC <span style="box-sizing: border-box;font-weight: bold;">default</span> <span style="box-sizing: border-box;font-weight: bold;">case</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F18 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W9, W8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F1C E9 D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_180] ; index++<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103453</span>F20 D7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_10345427C           ; <span style="box-sizing: border-box;font-weight: bold;">case</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span> index<br/></code></pre><p data-source-line="1240" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">循环0x2EB次后加密完成，部分数据如下：<br style="box-sizing: border-box;"/></p><pre data-source-line="1241" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420AF0</span>  AF AA BF AA F6 EE F9 8D  B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> 9C A7 8D F3<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420B00</span>  AF BE BB AD FA 8D A1 8D  A0 BF 8D EE F9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">92</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420B10</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> 9D B8 BC BE 8C FF BD  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> BE 8A A3 8A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">87</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420B20</span>  9A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">87</span> A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">86</span> F3 AD A5 B2  9E A0 A0 BA AF 8C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> FA<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420B30</span>  9A A5 FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> A7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">86</span> AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span>  B1 EE FB 8F EE FB 8A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420B40</span>  9F EE F9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> AD 8D AE B9  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> 9F F9 BA A4 A4 FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000146420B50</span>  8A FA F8 BD B9 A6 8D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span>  B9 B3 AA 8F 8C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> 8F 9B<br/></code></pre><p data-source-line="1250" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">其中Handle_2_2_CallFunc会调用外面函数获取手环境信息、设备信息与解密方法，代码如下：<br style="box-sizing: border-box;"/></p><pre data-source-line="1251" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">_text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1C8             Handle_2_2_CallFunc                     ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1C8                                                     ; DATA XREF: __text:<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> std::__1::__tree_right_rotate&lt;std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *&gt;(std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *)+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1339</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1C8 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X8, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1C8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D89BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1CC E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_140]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1D0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1D4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W10, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1D8 AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> F8 LDUR            X11, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xC8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1DC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W12, [X11]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1E0 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> F8 LDUR            X13, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1E4 AE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X14, [X13]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1E8 CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W12, [X14,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x3C</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1EC EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X15, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1F0 EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X15, X15, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1F4 F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X16, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1F8 EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X15, X15, X16<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A1FC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X8, X15<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A200 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W10, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A204 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> CMP             W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x100</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A208 EE CF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             X14, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1B8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A20C EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1BC]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A210 A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.CS            loc_104D8A244<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A214 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> B9 LDR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1BC]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A218 E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> AA MOV             X9, X8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A21C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X9, X9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A220 EA CF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1B8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A224 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X11, X10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xC0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A228 EC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D B2 MOV             X12, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A22C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X9, X9, X12<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A230 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X9, X11, X9<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A234 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X9, [X9]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A238 A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> F8 LDUR            X0, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xB0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A23C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F D6 BLR             X9                      ; <br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A240 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104D8C270<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A244             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A244<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A244             loc_104D8A244                           ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D8<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A244 E8 CF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1B8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A248 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> ADD             X9, X8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x8C0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A24C E9 C7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             X9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1C8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A250<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A250             loc_104D8A250                           ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">860</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A250 E8 C7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1C8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A254 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W9, [X8,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A258 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> B9 LDR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1BC]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A25C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B CMP             W9, W10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A260 E8 C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1D0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A264 C1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> B.NE            loc_104D8A27C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A268 E8 C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1D0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A26C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X9, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A270 A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> F8 LDUR            X0, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xB0</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A274 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F D6 BLR             X9                      ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">调用外部方法</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A278 FE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">07</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_104D8C270<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A27C             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A27C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A27C             loc_104D8A27C                           ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">82</span>C<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A27C A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> MOV             W8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A280 E9 C3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1D0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A284 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F9 LDR             X10, [X9,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x18</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A288 EB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X11, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A28C EB C7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> F9 STR             X11, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1C8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A290 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1D4]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A294 AA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B4 CBZ             X10, loc_104D8C3C8<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000104</span>D8A298 EE FF FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> B               loc_104D8A250<br/></code></pre><p data-source-line="1317" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">外面函数检测越狱，主要检测是否有如下文件：<br style="box-sizing: border-box;"/></p><pre data-source-line="1318" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 153, 38);">/Applications/</span>Cydia.app<br/><span style="box-sizing: border-box;color: rgb(0, 153, 38);">/Library/</span>MobileSubstrate/MobileSubstrate.dylib<br/><span style="box-sizing: border-box;color: rgb(0, 153, 38);">/bin/</span>bash<br/><span style="box-sizing: border-box;color: rgb(0, 153, 38);">/usr/</span>sbin/sshd<br/><span style="box-sizing: border-box;color: rgb(0, 153, 38);">/etc/</span>apt<br/><span style="box-sizing: border-box;color: rgb(0, 153, 38);">/usr/</span>bin/cycript<br/><span style="box-sizing: border-box;color: rgb(0, 153, 38);">/usr/</span>bin/gdbhd<br/></code></pre><p data-source-line="1327" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">外面函数检测是否有自动化与改机类工具，主要检测是否有如下文件：<br style="box-sizing: border-box;"/></p><pre data-source-line="1328" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">/Applications/TouchElf<span style="box-sizing: border-box;">.app</span><br/>/Applications/AutoTouch<span style="box-sizing: border-box;">.app</span><br/>/Applications/TouchSprite<span style="box-sizing: border-box;">.app</span><br/>/Applications/handjingling<span style="box-sizing: border-box;">.app</span><br/>/Library/MobileSubstrate/DynamicLibraries/iGrimace<span style="box-sizing: border-box;">.dylib</span><br/>/Library/MobileSubstrate/DynamicLibraries/iGrimace<span style="box-sizing: border-box;">.plist</span><br/>/Applications/iGrimace<span style="box-sizing: border-box;">.app</span><br/>/Library/MobileSubstrate/DynamicLibraries/NZT<span style="box-sizing: border-box;">.dylib</span><br/>/Library/MobileSubstrate/DynamicLibraries/NZT<span style="box-sizing: border-box;">.plist</span><br/>/Applications/NZT<span style="box-sizing: border-box;">.app</span><br/>/Library/MobileSubstrate/DynamicLibraries/txyfakegps<span style="box-sizing: border-box;">.dylib</span><br/>/Library/MobileSubstrate/DynamicLibraries/txyfakegps<span style="box-sizing: border-box;">.plist</span><br/>/Applications/tianxiayou<span style="box-sizing: border-box;">.app</span><br/>/Library/MobileSubstrate/DynamicLibraries/txytweak<span style="box-sizing: border-box;">.dylib</span><br/>/Library/MobileSubstrate/DynamicLibraries/txytweak<span style="box-sizing: border-box;">.plist</span><br/>/Applications/TianXiaYou<span style="box-sizing: border-box;">.app</span><br/>/Library/MobileSubstrate/DynamicLibraries/OTRLocation<span style="box-sizing: border-box;">.dylib</span><br/>/Library/MobileSubstrate/DynamicLibraries/OTRLocation<span style="box-sizing: border-box;">.plist</span><br/>/Applications/OTRLocation<span style="box-sizing: border-box;">.app</span><br/>/Library/MobileSubstrate/DynamicLibraries/altweak<span style="box-sizing: border-box;">.dylib</span><br/>/Library/MobileSubstrate/DynamicLibraries/altweak<span style="box-sizing: border-box;">.plist</span><br/>/Applications/anylocation<span style="box-sizing: border-box;">.app</span><br/>/User/iGrimace<br/></code></pre><p data-source-line="1353" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">外面函数获取设备信息，获取电池、屏幕、IDFA、IDFV等:<br style="box-sizing: border-box;"/></p><pre data-source-line="1354" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336</span>DF8 D4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              _objc_retainAutoreleasedReturnValue<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336</span>DFC F7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> AA MOV             X23, X0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E00</span> B7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X23, loc_103336E74<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E04</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> D0 ADRP            X8, #<span style="box-sizing: border-box;color: rgb(153, 0, 115);">selRef_UUIDString@</span>PAGE<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> F9 LDR             X24, [X8,#<span style="box-sizing: border-box;color: rgb(153, 0, 115);">selRef_UUIDString@</span>PAGEOFF]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E0</span>C E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> AA MOV             X0, X23                 ; <span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E10</span> E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> AA MOV             X1, X21                 ; char *<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E14</span> E2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> AA MOV             X2, X24<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E18</span> BA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              _objc_msgSend<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E1</span>C C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> CBZ             W0, loc_103336E74<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E20</span> E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> AA MOV             X0, X23                 ; <span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E24</span> E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> AA MOV             X1, X22                 ; char *<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E28</span> E2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> AA MOV             X2, X24<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E2</span>C B5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              _objc_msgSend<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E30</span> C6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              _objc_retainAutoreleasedReturnValue<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E34</span> F5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> AA MOV             X21, X0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E38</span> B5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X21, loc_103336E6C<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E3</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B0 ADRP            X8, #<span style="box-sizing: border-box;color: rgb(153, 0, 115);">selRef_length@</span>PAGE<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> F9 LDR             X1, [X8,#<span style="box-sizing: border-box;color: rgb(153, 0, 115);">selRef_length@</span>PAGEOFF] ; char *<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E44</span> E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> AA MOV             X0, X21                 ; <span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E48</span> AE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              _objc_msgSend<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103336E4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B4 CBZ             X0, loc_103336E6C<br/></code></pre><p data-source-line="1378" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">获取完成后的设备信息如下：<br style="box-sizing: border-box;"/></p><pre data-source-line="1379" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB25B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1.1</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">.160982637024</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB25C0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8510</span>:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4274.</span>...E68<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB25D0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">684</span>F0<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-7573</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">-4</span>EBC-<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB25E0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span>BD-A03D54B4F45<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB25F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7.</span>.D10AP.iPhone.<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB2600  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">70</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span>  Apple.com.airasi<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB2610  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span>  a.mobile<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.2732</span>ZWX<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB2620  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>X9<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.626</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">.5</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">.4</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">.62</span>..<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB2630  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span>  ..aCRLOnYLVideOG<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB2640  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B  g0KUM+LVxcM00Fbk<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB2650  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">50</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>JLB8vQjFPBCE=..<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB2660  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2732</span>ZWX8X9<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.0</span>....<br/></code></pre><p data-source-line="1393" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">异或加密设备信息:<br style="box-sizing: border-box;"/></p><pre data-source-line="1394" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034</span>EAA8C E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B C1 A8 LDP             X0, X30, [SP],#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034</span>EAA90 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X11, X11, X9<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034</span>EAA94 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">39</span> LDRB            W13, [X11]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034</span>EAA98 AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A EOR             W12, W13, W12           ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">异或加密设备信息</span>,<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">密钥</span>DB<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034</span>EAA9C E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>B BF A9 STP             X0, X30, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0x10</span>]!<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034</span>EAAA0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> LDR             W0, =<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x3A</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034</span>EAAA4 FF FC FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> BL              loc_1034E9EA0<br/></code></pre><p data-source-line="1403" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">加密后设备信息数据<br style="box-sizing: border-box;"/></p><pre data-source-line="1404" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB25B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span>  !q!q!G H(C&amp;B&#39;A<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;E<br/>0000000283EB25C0  28 44 21 41 2A 45 22 46  24 71 10 71 10 34 26 49  (D!A*E&#34;</span>F$q.q<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.4</span>&amp;I<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB25D0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>C  &amp;I$<span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span> \&#39;D&#39;B=EU3S\<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB25E0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">33</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span>  )HR5=<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span> BTD$<span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>$<span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>$D<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB25F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span>  &#39;q<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.5</span>!AQ!..@...uq<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB2600  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span>  Q.`.uqs.}_q.b.c.<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283</span>EB2610  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">72</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">27</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">47</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>  q_}.r.|.&gt;C&#39;B<span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#34;+G)<br/>0000000283EB2620  28 29 29 71 26 43 26 71  25 5F 24 5F 26 43 10 71  ())q&amp;C&amp;q%_$_&amp;C.q<br/>0000000283EB2630  10 71 71 32 42 3D 5F 1F  49 3D 46 18 74 14 5F 36  .qq2B=_.I=F.t._6<br/>0000000283EB2640  77 41 5B 24 5D 5A 5C 27  68 12 5D 41 20 37 72 1A  wA[$]Z\&#39;h.]A 7r.<br/>0000000283EB2650  21 3B 5C 33 28 07 41 1B  56 21 52 32 55 4C 10 71  !;\3(.A.V!R2UL.q<br/>0000000283EB2660  22 46 23 43 4A 26 48 49  48 48 10 41 10 00 00 00  &#34;</span>F#CJ&amp;HIHH.A....<br/></code></pre><p data-source-line="1418" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">对异或加密后的数据进行压缩，压缩函数同上，压缩后数据如下：<br style="box-sizing: border-box;"/></p><pre data-source-line="1419" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000110836060</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">78</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> CE BB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E C2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">61</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A  x..<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">λ</span> n...@a.X-.*<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000110836070</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A C4 C1 D8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">82</span> B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span>  .*....]*R<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">Ȁ</span> .....<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000110836080</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">58</span> C2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> E9  FA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">87</span> E6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span>  X...FFt.........<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000110836090</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D E3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AD  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">60</span> B9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span>  .}......?&gt;`.@...<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001108360</span>A0  BC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>E F6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>C B8  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> D1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B DC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BE  .d...........<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">ܔ</span> .<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001108360</span>B0  EB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F CB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> C7 F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> CB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">59</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B E3 EB  ...YNC.....Y....<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001108360</span>C0  F9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">20</span> FA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span> E4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> A6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span>  . .v.....i....(.<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001108360</span>D0  C2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> FA BD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">86</span> A2 BC  FB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C C3 B1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">75</span> B3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> F7  ....}....&lt;<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">ñ</span> u...<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001108360E0</span>  E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> BD B5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E F8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>A  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E DD AF CC F7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>C  .......Z.+.<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">ݯ</span> ..|<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001108360</span>F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">62</span> D0 B5 D4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span> F5  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> BE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span>  ..b<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">е</span> .......l;.R<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000110836100</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>C AA D9 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> FC D2 ED  C6 F0 FF EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> E1 A1  |...E...........<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000110836110</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span> F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A A2 B9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">26</span>  F3 FE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">86</span> C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>A  AF&amp;....&amp;......;j<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000110836120</span>  CA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> AE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">35</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> FC  A9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> D5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span>  ..<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.5</span>....<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.1</span>......<br/></code></pre><p data-source-line="1434" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">计算AES加密密钥<br style="box-sizing: border-box;"/>取值AirAsiaMobile.appp/yw_1222_0335_mwua.jpg中解密出来的值“f179ef3c-c43c-441b-b1a5-5f8bb6c9ef48”并计算md5。<br style="box-sizing: border-box;"/>AlgorithmHelperMd5Hex-&gt;AlgorithmHelperHexString-&gt;AlgorithmHelperHexStringExt<br style="box-sizing: border-box;"/>得到md5:b5f852c906a38b590f69190b935abdf6取md5字符串前16字节做为密钥“b5f852c906a38b59”。<br style="box-sizing: border-box;"/>AES加密后数据如下：</p><pre data-source-line="1439" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB290  A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span> C9 F2 B0 B4 DB D2  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C A8 AE BD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> A0 BA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span>  .#.........<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.0</span>..#<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB2A0  AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">88</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">99</span> CD C0 DC B0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">56</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F B8 E3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> F1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> E8  .O....<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">ܰ</span> V.....$.<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB2B0  E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">66</span> FE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span>  DE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> AF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> C7 B7 ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span>  ...yf..)...S<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">Ƿ</span> ..<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB2C0  B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">48</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">71</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">85</span> E4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">76</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">81</span> D5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">86</span> F0 C5  .H.qn...........<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB2D0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> B5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">46</span> D6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">64</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span>  AE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> BD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">69</span> E6 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F  ...F..d..._..i..<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB2E0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> C7 BE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>A CA F6 CE CE  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">37</span> FB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">85</span>  s<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">Ǿ</span> ......@<span style="box-sizing: border-box;color: rgb(0, 128, 128);">.1</span>$<span style="box-sizing: border-box;color: rgb(0, 128, 128);">7.</span>.<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB2F0  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E FD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span>  EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>C F0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">52</span> D1 D4 B5  ....k1..........<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB300  A6 C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">38</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F B8 F4  C1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">31</span> E5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span> E0 AF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D  .<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">ȓ</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8.</span>?..........<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB310  B1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">85</span> C8 C8 F3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span> FF  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">15</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">90</span> D6 D1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">85</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span>  .B............+y<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB320  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E E4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>C AF C7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span> FE DF FF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span>  o...\...).#...A.<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB330  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F CC B5 EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">23</span> ED  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">43</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> E4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">54</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F  ..?<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">̵</span> ....CA....?<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB340  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">86</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> B7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> A4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>A AC  CB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> CE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">45</span> BC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B  ...:A.z....<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">΄</span> E..<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB350  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">97</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">65</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">91</span> FB  A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>E B5 A7 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>D A5 DC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">19</span>  .+...e......m...<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000013</span>DFBB360  B4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">79</span> FC B2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">87</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">82</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>E  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">44</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B CA B0 A3 B6 E4  .y...|.&gt;~Dk<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">ʰ</span> ...<br/></code></pre><p data-source-line="1455" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">对AES加密后的数据进行Base64加密，算法为AlgorithmHelperBase64Encode，加密后数据如下： <br style="box-sizing: border-box;"/></p><pre data-source-line="1457" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">qCPJ8rC029IcqK69MKC6I61PiJnNwNywVg+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">441</span>PxJOjhnQB5Zv4WKd4xr1PHt+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>UuEgBcW6F5HZzAYHVZ4bwxY8JtUbWfWSArgVfCL1p5m9zx76ayvbOzolAqzEkN/uFDx79nmsxmxDqQBzwUtHUtabIkziTP7j0wTHlCpDgr22xQoXIyPMZ/xWQ1tGFCit5b+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>O5FyvxzQpGSP+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>/<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>BBhMfP8y17yPtlENB5ItUlz+GgLc6QaR6rMtvAc6ERbwLASuTnJdlkfugLrWnbaXcGbR5/LKHfII+fkRryrCjtuQ=<br/></code></pre><p data-source-line="1460" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">将输入参数与加密后设备数据组合:<br style="box-sizing: border-box;"/></p><pre data-source-line="1461" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">KIUR_qCPJ8rC029IcqK69MKC6I61PiJnNwNywVg+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">441</span>PxJOjhnQB5Zv4WKd4xr1PHt+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>UuEgBcW6F5HZzAYHVZ4bwxY8JtUbWfWSArgVfCL1p5m9zx76ayvbOzolAqzEkN/uFDx79nmsxmxDqQBzwUtHUtabIkziTP7j0wTHlCpDgr22xQoXIyPMZ/xWQ1tGFCit5b+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>O5FyvxzQpGSP+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>/<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>BBhMfP8y17yPtlENB5ItUlz+GgLc6QaR6rMtvAc6ERbwLASuTnJdlkfugLrWnbaXcGbR5/LKHfII+fkRryrCjtuQ=<br/>data=%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FsK4HWlF8dupf1FjFktF%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>BiYZVswuG4vBuAhACLXQLoM8fnyUkkqdGC1Qn4ClMaKz%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>ART%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>BfFerXT2qoo4ZA13vrmFJrxaDGHDPAAg7TUdoSAAUi3Alke38%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>Fvye%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>BM%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>Bht%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FLz%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AVlomfauMr0QIQXA5Mxivl0EEG4PYFQusjZlr4GJZfNTJOjHRoo5bQlAYqB1Iop0J%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AHmQjCa2MCBlw7e%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F176CVGyAyWo88P9YTWcF%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>BSM1b4d55v%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FHhdYAyBA6i23aDmtHy%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>Aa15vrc%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FDMlBvjyInqMvHMXJCG9DNO0zjfzCNrFB33kQV9XrDsPyBRdMgW88aI7dP%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AGDfQFoK2qAP49hyPOw3IDFV3rsb9U0k9%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F0%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>BwPc4EV%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>Bp%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B0%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FuXnGuaXYWkiRPRqT9j%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AgoRy93n4C7QUd%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>Be330VLhPtFmGZZ9ooozPSUNNEpdaVF1wCnfBTitE%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FKNP%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FF%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FRT%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>AWaTlAZsq0dRToAiMTRIEhuEmJLrBpOMCstT%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F3nJlxhYMKAm0DZYWSm1TehppuoNJ%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A5dZQd6IQuleQcFqKJ9B1FFRcIAi953We3xno27LhUNVGK4DIyNqj96HKyc4cx2Jz%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>ARLNRRDVANFIGCrGo%<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>FVDB18dvAA6MhfcEkMAnUcUAfE6b3KtXqVBJDas6sbD3PCpp&amp;KIUR_qCPJ8rC029IcqK69MKC6I61PiJnNwNywVg+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">441</span>PxJOjhnQB5Zv4WKd4xr1PHt+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>UuEgBcW6F5HZzAYHVZ4bwxY8JtUbWfWSArgVfCL1p5m9zx76ayvbOzolAqzEkN/uFDx79nmsxmxDqQBzwUtHUtabIkziTP7j0wTHlCpDgr22xQoXIyPMZ/xWQ1tGFCit5b+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>O5FyvxzQpGSP+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>/<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>BBhMfP8y17yPtlENB5ItUlz+GgLc6QaR6rMtvAc6ERbwLASuTnJdlkfugLrWnbaXcGbR5/LKHfII+fkRryrCjtuQ=&amp;IMHW_i0013<br/></code></pre><p data-source-line="1466" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">计算输入组合后数据的sha1值：<br style="box-sizing: border-box;"/></p><pre data-source-line="1467" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">a<span style="box-sizing: border-box;color: rgb(0, 128, 128);">899</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>bb<span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span>fcf<span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span><span style="box-sizing: border-box;font-weight: bold;">c</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span>ff<span style="box-sizing: border-box;color: rgb(0, 128, 128);">584</span>eb<span style="box-sizing: border-box;color: rgb(0, 128, 128);">696</span>d<span style="box-sizing: border-box;color: rgb(0, 128, 128);">183764</span><br/></code></pre><p data-source-line="1470" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">返回到VM中对SHA1值进行加密，APP调崩溃了，又重新来了一次，这次的SHA1值如下：<br style="box-sizing: border-box;"/></p><pre data-source-line="1471" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">//<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">原始值</span></span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283E86640</span>  BF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F A3 E7  F7 D5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">63</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">55</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">67</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> DD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000283E86650</span>  E4 C1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <br/> <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">//<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">异或后值</span></span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000011E3</span>B1444  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>E  AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> C5<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000011E3</span>B1450  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> FB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span>  <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> E0<br/></code></pre><p data-source-line="1479" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">第一次加密分4个字节一组，总共5组，详细说下其中一组加密流程：<br style="box-sizing: border-box;"/></p><pre data-source-line="1480" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">第</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">组</span>(<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">字节</span>)<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">原：</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">30</span> B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">密：</span><span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> FB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span><br/></code></pre><p data-source-line="1485" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Handle_44_getValue //获取密文然后异或</p><pre data-source-line="1486" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000098</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000053</span><br/></code></pre><p data-source-line="1490" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Handle_0_LSL //逻辑左移0x18</p><pre data-source-line="1491" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000053</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000053000000</span><br/></code></pre><p data-source-line="1495" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Handle_24_AND_EOR //逻辑“异或” 00000000FFFFFFFF</p><pre data-source-line="1496" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000053000000</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000053000000</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>ACFFFFFF<br/></code></pre><p data-source-line="1501" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">重复上面Handle</p><pre data-source-line="1502" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">Handle_44_getValue<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000000000FB</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000030</span><br/>Handle_0_LSL(<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span>)<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000030</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000300000</span><br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000300000</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000300000</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000FFCFFFFF</span><br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000FFCFFFFF</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000ACFFFFFF</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000053300000</span><br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000053300000</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000053300000</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000ACCFFFFF</span><br/>Handle_44_getValue<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000073</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000000000B8</span><br/>Handle_0_LSL(<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x8</span>)<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000000000B8</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000000B800</span><br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000000B800</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000000B800</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000FFFF47FF</span><br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000ACCFFFFF</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000FFFF47FF</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000005330B800</span><br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000005330B800</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000005330B800</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000ACCF47FF</span><br/>Handle_44_getValue<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000084</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000000004F</span><br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000000004F</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000000000004F</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000FFFFFFB0</span><br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000ACCF47FF</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000FFFFFFB0</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000005330B84F</span><br/>Handle_40_genOffset<br/></code></pre><p data-source-line="1552" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">Handle_8_EOR //逻辑异或</p><pre data-source-line="1553" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000005330</span>B84F<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000098</span>FB7384<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">存放计算的值</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000011E5</span>AFF55<br/>Handle_13_16_21_29_45_53_61_index <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">//index++</span><br/>Handle_9_CmpIndex <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">//<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">判断</span>index</span><br/>Handle_36_isZF <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">//<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">判断比较真假</span>,<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">真为结束</span></span><br/></code></pre><p data-source-line="1561" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">加密完成后得到的数据如下：</p><pre data-source-line="1562" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">68</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">74</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>E A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>C C5 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">16</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">84</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">73</span> FB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">98</span> E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>F<br/></code></pre><p data-source-line="1565" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">对加密后的值再次进行加密，循环0x100次，大致流程如下：</p><pre data-source-line="1566" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">Handle_56 <span style="box-sizing: border-box;color: rgb(153, 153, 136);font-style: italic;">//<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">取数据</span></span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000007484682</span>C<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>BF4FA3E7<br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>BF4FA3E7<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>BF4FA3E7<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000040</span>B05C18<br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000040</span>B05C18<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000006742</span>DD0E<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>BFFFA3F7<br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000006742</span>DD0E<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000006742</span>DD0E<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000098</span>BD22F1<br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000098</span>BD22F1<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>BF4FA3E7<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000067</span>F2DD1E<br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000067</span>F2DD1E<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>BFFFA3F7<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>D80D7EE9<br/>Handle_32_LSR(<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1f</span>)<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>D80D7EE9<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000001</span><br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000001</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000000000001</span><br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>FFFFFFFE<br/>Handle_0_LSL(<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1</span>)<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>D80D7EE9<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>B01AFDD2<br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>B01AFDD2<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>B01AFDD2<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000004</span>FE5022D<br/>Handle_24_AND_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000004</span>FE5022D<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>FFFFFFFE<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>B01AFDD3<br/>Handle_8_EOR<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>B01AFDD3<br/><span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000007</span>BD13618<br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">存</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000011E5</span>AFF88<br/>Handle_13_16_21_29_45_53_61_index<br/>Handle_9_CmpIndex<br/>Handle_36_isZF<br/></code></pre><p data-source-line="1616" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">下面是加密中使用到的几个关键的Handle:</p><pre data-source-line="1617" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>A4             Handle_24_AND_EOR                       ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>A4                                                     ; DATA XREF: __text:<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> std::__1::__tree_right_rotate&lt;std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *&gt;(std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *)+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">133</span>F4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>A4 A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X0, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA4</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>A4                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">24</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>A8 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X8, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">80</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> MOV             W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xFFFFFFFF</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>B0 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_140]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>B4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W11, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>BC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W12, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>C0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W12, W12, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>C4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W13, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>C8 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W13, W13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>CC EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C AA MOV             X14, X12<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>D0 CE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X14, X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>D4 EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X15, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>D8 CE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X14, X14, X15<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>DC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X14, X8, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520E0</span> CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W12, [X14]              ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">取值</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520E4</span> EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D AA MOV             X14, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520E8</span> CE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X14, X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>EC EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X15, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>F0 CE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X14, X14, X15<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X14, X8, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>F8 CD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W13, [X14]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034520</span>FC AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AND             W12, W13, W12           ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">逻辑“与”</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452100</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A EOR             W9, W12, W9             ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">逻辑“异或”</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000000</span>FFFFFFFF<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452104</span> EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B AA MOV             X14, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452108</span> CE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X14, X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345210</span>C EF <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X15, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452110</span> CE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X14, X14, X15<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452114</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X8, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452118</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W9, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345211</span>C A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> F8 LDUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xC8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452120</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W3, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452124</span> E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B AA MOV             X1, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452128</span> A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> F8 LDUR            X2, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345212</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">57</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              sub_103454688<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452130</span> E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452134</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452138</span> E0 A3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W0, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_1B0]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345213</span>C EA D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_180]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103452140</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_10345427C           ; <span style="box-sizing: border-box;font-weight: bold;">case</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span> index<br/></code></pre><pre data-source-line="1663" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DC0             Handle_0_LSL                            ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DC0                                                     ; DATA XREF: __text:jpt_100C51BEC<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DC0 A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X0, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA4</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DC0                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DC4 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X8, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DC8 E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_140]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DCC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DD0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W10, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DD4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W11, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DD8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DDC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W12, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DE0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W12, W12, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DE4 ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B AA MOV             X13, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DE8 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X13, X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DEC EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DF0 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X13, X13, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DF4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X13, X8, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DF8 AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W11, [X13]              ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">异或值</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>DFC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>A LSL             W11, W11, W12           ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">逻辑左移</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E00</span> ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X13, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E04</span> AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X13, X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E08</span> EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E0</span>C AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X13, X13, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X8, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E14</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W11, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E18</span> A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> F8 LDUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xC8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E1</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W3, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E20</span> E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X1, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E24</span> A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> F8 LDUR            X2, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              sub_103454688<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E2</span>C E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E30</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E34</span> E0 CB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W0, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_188]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E38</span> EA D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_180]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451E3</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_10345427C           ; <span style="box-sizing: border-box;font-weight: bold;">case</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span> index<br/></code></pre><pre data-source-line="1701" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454178</span>             Handle_32_LSR                           ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454178</span>                                                     ; DATA XREF: __text:<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> std::__1::__tree_right_rotate&lt;std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *&gt;(std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *)+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">13414</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454178</span> A0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">93</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X0, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA4</span>          ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454178</span>                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">32</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345417</span>C A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> D1 SUB             X8, X29, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xA0</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454180</span> E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_140]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454184</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454188</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W10, W10, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345418</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W11, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0xB</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454190</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W11, W11, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454194</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">10</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W12, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x10</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103454198</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">12</span> AND             W12, W12, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x1F</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">000000010345419</span>C ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B AA MOV             X13, X11<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>A0 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X13, X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>A4 EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>A8 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X13, X13, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X13, X8, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>B0 AB <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W11, [X13]              ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">取值</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>B4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">25</span> CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>A LSR             W11, W11, W12           ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">逻辑右移</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>B8 ED <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X13, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>BC AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> D3 UBFX            X13, X13, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x20</span> ; <span style="box-sizing: border-box;color: rgb(221, 17, 68);">&#39; &#39;</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>C0 EE <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>E B2 MOV             X14, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">4</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>C4 AD <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>E <span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>B MUL             X13, X13, X14<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>C8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">08</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>B ADD             X8, X8, X13<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W11, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>D0 A8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> F8 LDUR            X8, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xC8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>D4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W3, [X8]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>D8 E1 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">03</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>A AA MOV             X1, X10<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>DC A2 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">83</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">51</span> F8 LDUR            X2, [X29,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">-0xE8</span>]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541E0</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">94</span> BL              sub_103454688<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541E4</span> E9 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541E8</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>A <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W10, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>EC E0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>F <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> B9 STR             W0, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_314]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>F0 EA D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_180]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034541</span>F4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">22</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_10345427C           ; <span style="box-sizing: border-box;font-weight: bold;">case</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span> index<br/></code></pre><pre data-source-line="1739" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;overflow-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;overflow-wrap: normal;">__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>A8             Handle_36_isZF                          ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>B4<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>A8                                                     ; DATA XREF: __text:<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> std::__1::__tree_right_rotate&lt;std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *&gt;(std::__1::__tree_node_base&lt;<span style="box-sizing: border-box;color: rgb(0, 134, 179);">void</span> *&gt; *)+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">13424</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↓</span>o<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>A8 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">41</span> F9 LDR             X8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+ZF]      ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000100</span>C51BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>A8                                                     ; jumptable <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0000000103451</span>BEC <span style="box-sizing: border-box;font-weight: bold;">case</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">36</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>AC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">40</span> B9 LDR             W9, [X8]                ; <span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">取比较结果</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>B0 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">34</span> CBZ             W9, loc_1034539D0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>B4 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">13</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_140]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>B8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">7</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">06</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSR             W9, W8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">6</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>BC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">29</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">5</span>D <span style="box-sizing: border-box;color: rgb(0, 128, 128);">18</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">53</span> LSL             W9, W9, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>C0 EA <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W10, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>C4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">49</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">21</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">89</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>B ADD             W9, W10, W9,ASR#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>C8 E9 D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_180]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>CC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">2</span>C <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_10345427C           ; <span style="box-sizing: border-box;font-weight: bold;">case</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span> index<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>D0             ; ---------------------------------------------------------------------------<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>D0<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>D0             loc_1034539D0                           ; CODE XREF: VM2+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span>F78<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">↑</span>j<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>D0 E8 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">17</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">42</span> B9 LDR             W8, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_13C]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>D4 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">09</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">05</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">11</span> ADD             W9, W8, #<span style="box-sizing: border-box;color: rgb(0, 128, 128);">1</span><br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>D8 E9 D3 <span style="box-sizing: border-box;color: rgb(0, 128, 128);">01</span> B9 STR             W9, [SP,#<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0x350</span>+var_180]<br/>__text:<span style="box-sizing: border-box;color: rgb(0, 128, 128);">00000001034539</span>DC <span style="box-sizing: border-box;color: rgb(0, 128, 128);">28</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">02</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">00</span> <span style="box-sizing: border-box;color: rgb(0, 128, 128);">14</span> B               loc_10345427C           ; <span style="box-sizing: border-box;font-weight: bold;">case</span><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">返回</span> index</code></pre><p data-source-line="1616" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">最终计算得到一串字符与设备信息加密后数据进行组合得到签名值，整个过程就算完成了，然后将签名值发送给服务器端检验：<br/></p><pre data-source-line="1617" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;">KIUR_qCPJ8rC029IcqK69MKC6I61PiJnNwNywVg+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">441</span>PxJOjhnQB5Zv4WKd4xr1PHt+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">0</span>UuEgBcW6F5HZzAYHVZ4bwxY8JtUbWfWSArgVfCL1p5m9zx76ayvbOzolAqzEkN/uFDx79nmsxmxDqQBzwUtHUtabIkziTP7j0wTHlCpDgr22xQoXIyPMZ/xWQ1tGFCit5b+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">8</span>O5FyvxzQpGSP+<span style="box-sizing: border-box;color: rgb(0, 128, 128);">3</span>/<span style="box-sizing: border-box;color: rgb(0, 128, 128);">9</span>BBhMfP8y17yPtlENB5ItUlz+GgLc6QaR6rMtvAc6ERbwLASuTnJdlkfugLrWnbaXcGbR5/LKHfII+fkRryrCjtuQ=&amp;IMHW_i00132727e9c9863a1c4ba523b5f9f5f793a11c9a2713<br/></code></pre><h4 data-source-line="1620" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">四、总结</h4><p data-source-line="1621" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">由于时间原因，分析这个产品也是断断续续的进行，可能会存在很多没有分析清楚的地方，最后还是简单做一个总结，谈谈自己的一些简单看法，由于时间和水平有限，肯定会存在诸多不足，有不对的地方还请指正，下面谈谈我的看法：<br style="box-sizing: border-box;"/>优点：整体安全性比较高，在反IDA F5、逻辑混淆方面做得比较好，每个函数都贯穿始终，产品整体架构设计层次分明，从VMP初始化到VMP实际执行逻辑分层，有利于开发和维护。<br style="box-sizing: border-box;"/>从解密bycode到解释执行bycode都通过多层加密，我猜测是考虑到了性能原因，把大部分加解密操作放到了外部执行，把最后的sha1值放到VMP中进行加密处理，安全与性能取一个平衡点，不伤害用户体验的同时达到一定的安全性，毕竟像淘宝、支付宝这样的产品也有使用。<br style="box-sizing: border-box;"/>缺点：缺少一定的灵活性，比如bycode隐藏在图片中，当整个执行逻辑被成功分析清楚后难做即时补就措施，黑产特征在随时变化，本地的特征只要改下名字就可以过掉了。</p><p data-source-line="40" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;"><br/></p>



<p><a href="2247483895">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=b5a9270b&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU3MDc0MTY1MA%3D%3D%26mid%3D2247483895%26idx%3D1%26sn%3D1d565ce193c0a99951def8731ee74c1b%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 07 Jan 2021 19:10:00 +0800</pubDate>
    </item>
    <item>
      <title>某IOS&#34;可信ID&#34;产品原理分析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzU3MDc0MTY1MA==&amp;mid=2247483886&amp;idx=1&amp;sn=72fbb8ebc8b76db6a71f0a5b70089624</link>
      <description>今年苹果秋季发布会上苹果介绍对用户隐私保护继续升级。从官方披露的公开信息来看，iOS 14的用户隐私保护更新将让用户更加知悉自己个人数据的使用情况，并进一步约束App追踪用户隐私的能力。</description>
      <content:encoded><![CDATA[<p>
原创 <span>矛和盾的故事</span> <span>2020-10-25 17:30</span> <span style="display: inline-block;"></span>
</p>

<p>今年苹果秋季发布会上苹果介绍对用户隐私保护继续升级。从官方披露的公开信息来看，iOS 14的用户隐私保护更新将让用户更加知悉自己个人数据的使用情况，并进一步约束App追踪用户隐私的能力。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=cffdff8b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FN0ibNguSP6ibWYuWtpORQzVMpmv7xBia8wYN6qjibsBYzPMAtk8XBv6Kb9B2OS2H6N7qjzVDibwuoLcWwuKyAn7IwfA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p data-source-line="4" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">目录:</p><pre data-source-line="6" style="box-sizing: border-box;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 11.9px;margin-bottom: 16px;word-wrap: normal;padding: 16px;overflow: auto;line-height: 1.45;background-color: rgb(246, 248, 250);border-radius: 3px;color: rgb(36, 41, 46);text-align: start;"><code style="box-sizing: border-box;display: inline;overflow: visible;color: rgb(51, 51, 51);background: transparent;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace, sans-serif;border-radius: 3px;word-break: normal;border-width: 0px;border-style: initial;border-color: initial;line-height: inherit;word-wrap: normal;"><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">一、行业背景</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">二、什么是可信</span>ID<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">？</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">三、可信</span>ID<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">的应用场景</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">四、可信</span>ID<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">原理分析</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">五、如何攻破可信</span>ID<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">，可信</span>ID<span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">是否真的可信？</span><br/><span style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, 微软雅黑, SimSun, sans-serif;">六、总结</span></code></pre><h3 data-source-line="15" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">一、行业背景</h3><p data-source-line="16" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">随着全球范围内移动业务的全面发展，采取移动为主策略的营销人员具有独特的优势，能够为他们的品牌带来最大的成功。根据Zenith估计，到2020年移动设备将占全球广告市场的30%以上。<br style="box-sizing: border-box;"/>今年苹果秋季发布会上苹果介绍对用户隐私保护继续升级。从官方披露的公开信息来看，iOS 14的用户隐私保护更新将让用户更加知悉自己个人数据的使用情况，并进一步约束App追踪用户隐私的能力。限制“广告客户标识符”（IDFA）更新已确定延期至明年初执行，这将是一个会极大影响App定制化广告收入的用户数据追踪功能。<br style="box-sizing: border-box;"/>目前大多广告依赖IDFA和用户数据进行广告投放和优化。iOS 14 之后，IDFA的授权从设备层面移动到app层面。因此，如果用户需要对每个app进行授权。行业预计：只有20%左右的用户会进行授权；而如果80%的用户不进行授权，那么绝大部分app的都不能进行标识用户身份、归因、推荐、唤醒等。用户不授权跟踪（没有IDFA）之后，怎么办？如果拿不到用户的IDFA授权，或者长远看苹果不再支持IDFA怎么办？</p><h3 data-source-line="21" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">二、什么是可信ID？</h3><p data-source-line="22" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">可信ID是移动设备唯一性识别技术，在终端IMEI、MAC、OAID及iOS自带“IDFA”难稳定获取及 易被篡改的情况下，通过派发不易被篡改的更稳定终端唯一标识，为APP开发者提供更可信赖的唯一ID，作为数据运营统计基准，有效识别设备篡改、虚拟机等作弊行为，识别应用登陆及其它后续行为中的作弊风险，数据实时、准确可靠且可用于独立佐证。</p><h3 data-source-line="23" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">三、可信ID的应用场景</h3><h6 data-source-line="24" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">推广/营销活动防刷：<br style="box-sizing: border-box;"/></h6><p data-source-line="25" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">可信ID及对应状态可实时识别虚拟机、作弊环境，结合客户账户体系，在激活、登陆等节点事前识别业务风险。</p><h6 data-source-line="26" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">应用全周期洞察：<br style="box-sizing: border-box;"/></h6><p data-source-line="27" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">以可信ID为基准，依托数盟全域覆盖及判定能力，可有效判断应用安装未激活、卸载及换机状态，提供关键运营数据赋能。</p><h3 data-source-line="28" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.5em;font-weight: 600;line-height: 1.25;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">四、可信ID原理分析</h3><h6 data-source-line="29" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">1、整体架构流程</h6><p data-source-line="30" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">如图1所示： </p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.8878576952822892" data-s="300,640" style="" data-type="png" data-w="2586" src="https://wechat2rss.xlab.app/img-proxy/?k=5fba8117&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FN0ibNguSP6ibWYuWtpORQzVMpmv7xBia8wY18LicGlO85ogF8Dfg4O0cIa02iabTQLO4yCtic8p2xRqnmSwRzpm7CSyw%2F640%3Fwx_fmt%3Dpng"/></p><p>                        图1<br/></p><h6 data-source-line="33" style="box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1em;font-weight: 600;line-height: 1.25;color: rgb(106, 115, 125);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;text-align: start;white-space: normal;">2、详细流程分析</h6><p data-source-line="34" style="box-sizing: border-box;margin-bottom: 16px;color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;white-space: normal;">读取本地ID，如果本地未有缓存ID，将请求服务器计算ID，代码如下：</p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="objectivec"><code><span class="code-snippet_outer">v18 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">              (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">              (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;cs+/NyxzuGM+4ZVOsVQBOA==&#34;</span>));<span class="code-snippet__comment">// cdid_du</span></span></code><code><span class="code-snippet_outer">      v19 = objc_retainAutoreleasedReturnValue(v18);</span></code><code><span class="code-snippet_outer">      v20 = v19;</span></code><code><span class="code-snippet_outer">      v21 = objc_msgSend(v17, &amp;objectForKey_, v19);<span class="code-snippet__comment">// 读取本地ID</span></span></code><code><span class="code-snippet_outer">      cdid_du = objc_retainAutoreleasedReturnValue(v21);</span></code><code><span class="code-snippet_outer">      objc_release(v20);</span></code><code><span class="code-snippet_outer">      objc_release(v17);</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ( (<span class="code-snippet__keyword">signed</span> __int64)v12 &lt; <span class="code-snippet__number">1</span> || v143 || !cdid_du )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        +[FxLNxvmwQHTxxT xxxHxbaeMxfxxe](&amp;OBJC_CLASS___FxLNxvmwQHTxxT, <span class="code-snippet__string">&#34;xxxHxbaeMxfxxe&#34;</span>);</span></code><code><span class="code-snippet_outer">        v31 = (<span class="code-snippet__keyword">void</span> *)objc_alloc(&amp;OBJC_CLASS___AClNsOHxEnxxFq);</span></code><code><span class="code-snippet_outer">        v32 = objc_msgSend(v31, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_190A2D5CF);</span></code><code><span class="code-snippet_outer">        v138 = v32;</span></code><code><span class="code-snippet_outer">        v33 = objc_msgSend(v32, <span class="code-snippet__string">&#34;rmxhgtexxxYJsr&#34;</span>);</span></code><code><span class="code-snippet_outer">        v137 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v33);</span></code><code><span class="code-snippet_outer">        v136 = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">for</span> ( i = <span class="code-snippet__number">0</span>; i &lt; <span class="code-snippet__number">5</span>; ++i )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer">          <span class="code-snippet__keyword">if</span> ( !((<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v137, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_190A2E27E, &amp;stru_100144878) &amp; <span class="code-snippet__number">1</span>) &amp;&amp; v137 )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            v37 = (<span class="code-snippet__keyword">void</span> *)objc_alloc(&amp;OBJC_CLASS___xxYuxCNxkKxxZe);</span></code><code><span class="code-snippet_outer">            v134 = objc_msgSend(v37, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_190A2D5CF);</span></code><code><span class="code-snippet_outer">            v133 = objc_msgSend(v134, <span class="code-snippet__string">&#34;GlvxhXtNyNxYxb::&#34;</span>, v137, <span class="code-snippet__number">1</span>LL);<span class="code-snippet__comment">// 如果本地未缓存ID，请求服务器获取cdid_du</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">if</span> ( v133 == &amp;unk_C8 )</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              v38 = objc_msgSend(&amp;OBJC_CLASS___NSUserDefaults, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_190A34E33);</span></code><code><span class="code-snippet_outer">              v132 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v38);</span></code><code><span class="code-snippet_outer">              v131 = (<span class="code-snippet__keyword">char</span> *)objc_msgSend(v132, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_190A736EE, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;rseq&#34;</span>));</span></code><code><span class="code-snippet_outer">              v39 = v132;</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">采集设备信息加密上报服务器计算ID：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="objectivec"><code><span class="code-snippet_outer"><span class="code-snippet__keyword">id</span> __cdecl getSystemInfo_simulateIDFA2_3_4(BlGpxJxgAacxme *<span class="code-snippet__keyword">self</span>, SEL a2)</span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  __int128 v387; <span class="code-snippet__comment">// [xsp+760h] [xbp-30h]</span></span></code><code><span class="code-snippet_outer">  SEL v388; <span class="code-snippet__comment">// [xsp+770h] [xbp-20h]</span></span></code><code><span class="code-snippet_outer">  BlGpxJxgAacxme *v389; <span class="code-snippet__comment">// [xsp+778h] [xbp-18h]</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  v389 = <span class="code-snippet__keyword">self</span>;</span></code><code><span class="code-snippet_outer">  v388 = a2;</span></code><code><span class="code-snippet_outer">  v2 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL))objc_msgSend)(</span></code><code><span class="code-snippet_outer">         (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">         <span class="code-snippet__string">&#34;sharedSingleton&#34;</span>);</span></code><code><span class="code-snippet_outer">  *((_QWORD *)&amp;v387 + <span class="code-snippet__number">1</span>) = objc_retainAutoreleasedReturnValue(v2);</span></code><code><span class="code-snippet_outer">  v3 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(BlGpxJxgAacxme *, SEL))objc_msgSend)(v389, <span class="code-snippet__string">&#34;xxicbxDxMDxxxe&#34;</span>);</span></code><code><span class="code-snippet_outer">  *(_QWORD *)&amp;v387 = objc_retainAutoreleasedReturnValue(v3);</span></code><code><span class="code-snippet_outer">  v4 = (<span class="code-snippet__keyword">void</span> *)objc_alloc(&amp;OBJC_CLASS___NSDictionary);</span></code><code><span class="code-snippet_outer">  *((_QWORD *)&amp;v386 + <span class="code-snippet__number">1</span>) = objc_msgSend(v4, <span class="code-snippet__string">&#34;init&#34;</span>);</span></code><code><span class="code-snippet_outer">  v5 = (<span class="code-snippet__keyword">void</span> *)objc_alloc(&amp;OBJC_CLASS___NSDictionary);</span></code><code><span class="code-snippet_outer">  *(_QWORD *)&amp;v386 = objc_msgSend(v5, <span class="code-snippet__string">&#34;init&#34;</span>);</span></code><code><span class="code-snippet_outer">  v6 = (<span class="code-snippet__keyword">void</span> *)objc_alloc(&amp;OBJC_CLASS___xxxNxNxxfRxxxx);</span></code><code><span class="code-snippet_outer">  v385 = objc_msgSend(v6, <span class="code-snippet__string">&#34;init&#34;</span>);</span></code><code><span class="code-snippet_outer">  v7 = (<span class="code-snippet__keyword">void</span> *)objc_alloc(&amp;OBJC_CLASS___txxxxYxxxISEgq);</span></code><code><span class="code-snippet_outer">  v384 = objc_msgSend(v7, <span class="code-snippet__string">&#34;init&#34;</span>);</span></code><code><span class="code-snippet_outer">  v351 = v384;</span></code><code><span class="code-snippet_outer">  v8 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">         (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">         <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">         (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;TPS81+lSXz3nS0TDS2KiMA==&#34;</span>));</span></code><code><span class="code-snippet_outer">  v9 = objc_retainAutoreleasedReturnValue(v8);</span></code><code><span class="code-snippet_outer">  v350 = v9;</span></code><code><span class="code-snippet_outer">  v10 = objc_msgSend(v384, <span class="code-snippet__string">&#34;xiOExnwjxvxxxV::&#34;</span>, v9, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">  v383 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v10);</span></code><code><span class="code-snippet_outer">  objc_release(v350);</span></code><code><span class="code-snippet_outer">  v11 = objc_msgSend(v385, <span class="code-snippet__string">&#34;DOFDFCxmFLtxXN:&#34;</span>, (_QWORD)v387);<span class="code-snippet__comment">// tojson</span></span></code><code><span class="code-snippet_outer">  v382 = objc_retainAutoreleasedReturnValue(v11);</span></code><code><span class="code-snippet_outer">  v349 = v384;</span></code><code><span class="code-snippet_outer">  v12 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">          (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">          <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">          (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RS8OjrvAAW1HJKqFZrTqcA==&#34;</span>));</span></code><code><span class="code-snippet_outer">  v348 = objc_retainAutoreleasedReturnValue(v12);</span></code><code><span class="code-snippet_outer">  v347 = (<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v384, <span class="code-snippet__string">&#34;ExxWKxxtZdtAMN:::&#34;</span>, v348, v382, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">  objc_release(v348);</span></code><code><span class="code-snippet_outer">  v346 = v384;</span></code><code><span class="code-snippet_outer">  v13 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">          (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">          <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">          (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RS8OjrvAAW1HJKqFZrTqcA==&#34;</span>));</span></code><code><span class="code-snippet_outer">  v345 = objc_retainAutoreleasedReturnValue(v13);</span></code><code><span class="code-snippet_outer">  v344 = (<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v384, <span class="code-snippet__string">&#34;ExxWKxxtZdtAMN:::&#34;</span>, v345, v382, <span class="code-snippet__number">2</span>LL);</span></code><code><span class="code-snippet_outer">  objc_release(v345);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> ( !((<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v383, <span class="code-snippet__string">&#34;isEqualToString:&#34;</span>, &amp;stru_100108878) </span></code><code><span class="code-snippet_outer">      v292 = objc_retainAutoreleasedReturnValue(v46);</span></code><code><span class="code-snippet_outer">      v47 = objc_msgSend(</span></code><code><span class="code-snippet_outer">              &amp;OBJC_CLASS___NSDictionary,</span></code><code><span class="code-snippet_outer">              &amp;aDictionarywith,</span></code><code><span class="code-snippet_outer">              v300,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;se1&#34;</span>),</span></code><code><span class="code-snippet_outer">              v299,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;fW2&#34;</span>),</span></code><code><span class="code-snippet_outer">              v298,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sf2W&#34;</span>),</span></code><code><span class="code-snippet_outer">              v297,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;js2&#34;</span>),</span></code><code><span class="code-snippet_outer">              v296,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sj2s&#34;</span>),</span></code><code><span class="code-snippet_outer">              v377,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;qH4&#34;</span>),</span></code><code><span class="code-snippet_outer">              v376,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;zT2&#34;</span>),</span></code><code><span class="code-snippet_outer">              v293,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;gy8&#34;</span>),</span></code><code><span class="code-snippet_outer">              v292,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sg8y&#34;</span>),</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v48 = objc_retainAutoreleasedReturnValue(v47);</span></code><code><span class="code-snippet_outer">      v49 = *((_QWORD *)&amp;v386 + <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">      *((_QWORD *)&amp;v386 + <span class="code-snippet__number">1</span>) = v48;</span></code><code><span class="code-snippet_outer">      objc_release(v49);</span></code><code><span class="code-snippet_outer">      objc_release(v292);</span></code><code><span class="code-snippet_outer">      objc_release(v293);</span></code><code><span class="code-snippet_outer">      objc_release(v296);</span></code><code><span class="code-snippet_outer">      objc_release(v297);</span></code><code><span class="code-snippet_outer">      objc_release(v298);</span></code><code><span class="code-snippet_outer">      objc_release(v299);</span></code><code><span class="code-snippet_outer">      objc_release(v300);</span></code><code><span class="code-snippet_outer">      objc_release(v302);</span></code><code><span class="code-snippet_outer">      objc_storeStrong(&amp;v375, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v291 = &amp;OBJC_CLASS___NSDictionary;</span></code><code><span class="code-snippet_outer">      v290 = v380;</span></code><code><span class="code-snippet_outer">      v50 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">              (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">              (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;WYGspWgo0hgt+ZxFpTdD6Q==&#34;</span>));</span></code><code><span class="code-snippet_outer">      v289 = objc_retainAutoreleasedReturnValue(v50);</span></code><code><span class="code-snippet_outer">      v288 = v289;</span></code><code><span class="code-snippet_outer">      v51 = objc_msgSend(v380, &amp;objectForKeyedSubscript_, v289);</span></code><code><span class="code-snippet_outer">      v287 = objc_retainAutoreleasedReturnValue(v51);</span></code><code><span class="code-snippet_outer">      v52 = objc_msgSend(v379, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v286 = objc_retainAutoreleasedReturnValue(v52);</span></code><code><span class="code-snippet_outer">      v53 = objc_msgSend(v379, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      v285 = objc_retainAutoreleasedReturnValue(v53);</span></code><code><span class="code-snippet_outer">      v54 = objc_msgSend(v378, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v284 = objc_retainAutoreleasedReturnValue(v54);</span></code><code><span class="code-snippet_outer">      v55 = objc_msgSend(v378, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      v170 = <span class="code-snippet__number">0</span>LL;</span></code><code><span class="code-snippet_outer">      v169 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;zT2&#34;</span>);</span></code><code><span class="code-snippet_outer">      v168 = v376;</span></code><code><span class="code-snippet_outer">      v167 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;qH4&#34;</span>);</span></code><code><span class="code-snippet_outer">      v166 = v377;</span></code><code><span class="code-snippet_outer">      v165 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sj2s&#34;</span>);</span></code><code><span class="code-snippet_outer">      v163 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;js2&#34;</span>);</span></code><code><span class="code-snippet_outer">      v162 = v284;</span></code><code><span class="code-snippet_outer">      v161 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sf2W&#34;</span>);</span></code><code><span class="code-snippet_outer">      v160 = v285;</span></code><code><span class="code-snippet_outer">      v159 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;fW2&#34;</span>);</span></code><code><span class="code-snippet_outer">      v158 = v286;</span></code><code><span class="code-snippet_outer">      v157 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;se1&#34;</span>);</span></code><code><span class="code-snippet_outer">      v283 = objc_retainAutoreleasedReturnValue(v55);</span></code><code><span class="code-snippet_outer">      v56 = objc_msgSend(</span></code><code><span class="code-snippet_outer">              &amp;OBJC_CLASS___NSDictionary,</span></code><code><span class="code-snippet_outer">              &amp;aDictionarywith,</span></code><code><span class="code-snippet_outer">              v287,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;se1&#34;</span>),</span></code><code><span class="code-snippet_outer">              v286,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;fW2&#34;</span>),</span></code><code><span class="code-snippet_outer">              v285,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sf2W&#34;</span>),</span></code><code><span class="code-snippet_outer">              v284,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;js2&#34;</span>),</span></code><code><span class="code-snippet_outer">              v283,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sj2s&#34;</span>),</span></code><code><span class="code-snippet_outer">              v377,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;qH4&#34;</span>),</span></code><code><span class="code-snippet_outer">              v376,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;zT2&#34;</span>),</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v57 = objc_retainAutoreleasedReturnValue(v56);</span></code><code><span class="code-snippet_outer">      v58 = *((_QWORD *)&amp;v386 + <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">      *((_QWORD *)&amp;v386 + <span class="code-snippet__number">1</span>) = v57;</span></code><code><span class="code-snippet_outer">      objc_release(v58);</span></code><code><span class="code-snippet_outer">      objc_release(v283);</span></code><code><span class="code-snippet_outer">      objc_release(v284);</span></code><code><span class="code-snippet_outer">      objc_release(v285);</span></code><code><span class="code-snippet_outer">      objc_release(v286);</span></code><code><span class="code-snippet_outer">      objc_release(v287);</span></code><code><span class="code-snippet_outer">      objc_release(v289);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;v376, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;v377, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;v378, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;v379, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;v380, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v343 = v384;</span></code><code><span class="code-snippet_outer">    v14 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">            (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">            (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;TPS81+lSXz3nS0TDS2KiMA==&#34;</span>));</span></code><code><span class="code-snippet_outer">    v15 = objc_retainAutoreleasedReturnValue(v14);</span></code><code><span class="code-snippet_outer">    v342 = v15;</span></code><code><span class="code-snippet_outer">    v16 = objc_msgSend(v384, <span class="code-snippet__string">&#34;xiOExnwjxvxxxV::&#34;</span>, v15, <span class="code-snippet__number">2</span>LL);</span></code><code><span class="code-snippet_outer">    v17 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v16);</span></code><code><span class="code-snippet_outer">    v18 = v383;</span></code><code><span class="code-snippet_outer">    v383 = v17;</span></code><code><span class="code-snippet_outer">    objc_release(v18);</span></code><code><span class="code-snippet_outer">    objc_release(v342);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> ( !((<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v383, <span class="code-snippet__string">&#34;isEqualToString:&#34;</span>, &amp;stru_100108878) &amp; <span class="code-snippet__number">1</span>) &amp;&amp; v383 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v335 = v384;</span></code><code><span class="code-snippet_outer">      v22 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">              (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">              (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;TPS81+lSXz3nS0TDS2KiMA==&#34;</span>));</span></code><code><span class="code-snippet_outer">      v334 = objc_retainAutoreleasedReturnValue(v22);</span></code><code><span class="code-snippet_outer">      v333 = (<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v384, <span class="code-snippet__string">&#34;ExxWKxxtZdtAMN:::&#34;</span>, v334, v383, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      objc_release(v334);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v19 = objc_msgSend(v385, <span class="code-snippet__string">&#34;DOFDFCxmFLtxXN:&#34;</span>, (_QWORD)v387);</span></code><code><span class="code-snippet_outer">      v381 = objc_retainAutoreleasedReturnValue(v19);</span></code><code><span class="code-snippet_outer">      v341 = v384;</span></code><code><span class="code-snippet_outer">      v20 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">              (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">              (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;TPS81+lSXz3nS0TDS2KiMA==&#34;</span>));</span></code><code><span class="code-snippet_outer">      v340 = objc_retainAutoreleasedReturnValue(v20);</span></code><code><span class="code-snippet_outer">      v339 = (<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v384, <span class="code-snippet__string">&#34;ExxWKxxtZdtAMN:::&#34;</span>, v340, v381, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      objc_release(v340);</span></code><code><span class="code-snippet_outer">      v338 = v384;</span></code><code><span class="code-snippet_outer">      v21 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">              (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">              (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;TPS81+lSXz3nS0TDS2KiMA==&#34;</span>));</span></code><code><span class="code-snippet_outer">      v337 = objc_retainAutoreleasedReturnValue(v21);</span></code><code><span class="code-snippet_outer">      v336 = (<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v384, <span class="code-snippet__string">&#34;ExxWKxxtZdtAMN:::&#34;</span>, v337, v381, <span class="code-snippet__number">2</span>LL);</span></code><code><span class="code-snippet_outer">      objc_release(v337);</span></code><code><span class="code-snippet_outer">      objc_storeStrong((<span class="code-snippet__keyword">char</span> *)&amp;v386 + <span class="code-snippet__number">8</span>, v387);</span></code><code><span class="code-snippet_outer">      objc_storeStrong(&amp;v381, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v282 = v384;</span></code><code><span class="code-snippet_outer">  v59 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">          (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">          <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">          (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RS8OjrvAAW1HJKqFZrTqcA==&#34;</span>));</span></code><code><span class="code-snippet_outer">  v60 = objc_retainAutoreleasedReturnValue(v59);</span></code><code><span class="code-snippet_outer">  v281 = v60;</span></code><code><span class="code-snippet_outer">  v61 = objc_msgSend(v282, <span class="code-snippet__string">&#34;xiOExnwjxvxxxV::&#34;</span>, v60, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">  v374 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v61);</span></code><code><span class="code-snippet_outer">  objc_release(v281);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> ( !((<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v374, <span class="code-snippet__string">&#34;isEqualToString:&#34;</span>, &amp;stru_100108878) &amp; <span class="code-snippet__number">1</span>) &amp;&amp; v374 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v68 = objc_msgSend(v385, <span class="code-snippet__string">&#34;uxWxWrCxxxxjyx:&#34;</span>, v374);</span></code><code><span class="code-snippet_outer">    v373 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v68);</span></code><code><span class="code-snippet_outer">    v275 = (<span class="code-snippet__keyword">void</span> *)*((_QWORD *)&amp;v387 + <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">    v274 = v373;</span></code><code><span class="code-snippet_outer">    v69 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">            (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">            (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;vObXs+x9vhDcXdpKshNtFw==&#34;</span>));<span class="code-snippet__comment">// idfa</span></span></code><code><span class="code-snippet_outer">    v273 = objc_retainAutoreleasedReturnValue(v69);</span></code><code><span class="code-snippet_outer">    idfa_1 = v273;</span></code><code><span class="code-snippet_outer">    v70 = objc_msgSend(v373, &amp;objectForKeyedSubscript_, v273);</span></code><code><span class="code-snippet_outer">    idfa_3 = objc_retainAutoreleasedReturnValue(v70);</span></code><code><span class="code-snippet_outer">    v270 = idfa_3;</span></code><code><span class="code-snippet_outer">    v71 = objc_msgSend(v275, <span class="code-snippet__string">&#34;GBkCxErcvAxxDf:&#34;</span>, idfa_3);<span class="code-snippet__comment">// enc_fild</span></span></code><code><span class="code-snippet_outer">    enc_idfa_3 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v71);</span></code><code><span class="code-snippet_outer">    objc_release(idfa_3);</span></code><code><span class="code-snippet_outer">    objc_release(v273);</span></code><code><span class="code-snippet_outer">    v269 = (<span class="code-snippet__keyword">void</span> *)*((_QWORD *)&amp;v387 + <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">    v268 = v373;</span></code><code><span class="code-snippet_outer">    v72 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">            (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">            (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;uPUdV+fjkO9vswOQpPrXTg==&#34;</span>));</span></code><code><span class="code-snippet_outer">    v267 = objc_retainAutoreleasedReturnValue(v72);</span></code><code><span class="code-snippet_outer">    v266 = v267;</span></code><code><span class="code-snippet_outer">    v73 = objc_msgSend(v373, &amp;objectForKeyedSubscript_, v267);</span></code><code><span class="code-snippet_outer">    v265 = objc_retainAutoreleasedReturnValue(v73);</span></code><code><span class="code-snippet_outer">    v264 = v265;</span></code><code><span class="code-snippet_outer">    v74 = objc_msgSend(v269, <span class="code-snippet__string">&#34;GBkCxErcvAxxDf:&#34;</span>, v265);<span class="code-snippet__comment">// enc_fild</span></span></code><code><span class="code-snippet_outer">    v371 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v74);</span></code><code><span class="code-snippet_outer">    objc_release(v265);</span></code><code><span class="code-snippet_outer">    objc_release(v267);</span></code><code><span class="code-snippet_outer">    v263 = (<span class="code-snippet__keyword">void</span> *)*((_QWORD *)&amp;v387 + <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">    v262 = v373;</span></code><code><span class="code-snippet_outer">    v75 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">            (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">            (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;2xxmKRFKCcr5XU2+msFR+A==&#34;</span>));</span></code><code><span class="code-snippet_outer">    v261 = objc_retainAutoreleasedReturnValue(v75);</span></code><code><span class="code-snippet_outer">    v260 = v261;</span></code><code><span class="code-snippet_outer">    v76 = objc_msgSend(v373, &amp;objectForKeyedSubscript_, v261);</span></code><code><span class="code-snippet_outer">    v259 = objc_retainAutoreleasedReturnValue(v76);</span></code><code><span class="code-snippet_outer">    v258 = v259;</span></code><code><span class="code-snippet_outer">    v77 = objc_msgSend(v263, <span class="code-snippet__string">&#34;HxWTSXOxluCtkx:&#34;</span>, v259);</span></code><code><span class="code-snippet_outer">    v370 = objc_retainAutoreleasedReturnValue(v77);</span></code><code><span class="code-snippet_outer">    objc_release(v259);</span></code><code><span class="code-snippet_outer">    objc_release(v261);</span></code><code><span class="code-snippet_outer">    v257 = (<span class="code-snippet__keyword">void</span> *)*((_QWORD *)&amp;v387 + <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">    v256 = v373;</span></code><code><span class="code-snippet_outer">    v78 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">            (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">            (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;+nnUEO7y67rRr/puoH0wmQ==&#34;</span>));</span></code><code><span class="code-snippet_outer">    v255 = objc_retainAutoreleasedReturnValue(v78);</span></code><code><span class="code-snippet_outer">    v254 = v255;</span></code><code><span class="code-snippet_outer">    v79 = objc_msgSend(v373, &amp;objectForKeyedSubscript_, v255);</span></code><code><span class="code-snippet_outer">    v253 = objc_retainAutoreleasedReturnValue(v79);</span></code><code><span class="code-snippet_outer">    v252 = v253;</span></code><code><span class="code-snippet_outer">    v80 = objc_msgSend(v257, <span class="code-snippet__string">&#34;HxWTSXOxluCtkx:&#34;</span>, v253);</span></code><code><span class="code-snippet_outer">    v369 = objc_retainAutoreleasedReturnValue(v80);</span></code><code><span class="code-snippet_outer">    objc_release(v253);</span></code><code><span class="code-snippet_outer">    objc_release(v255);</span></code><code><span class="code-snippet_outer">    v81 = objc_msgSend(v373, &amp;objectForKeyedSubscript_, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;gy8&#34;</span>));</span></code><code><span class="code-snippet_outer">    v251 = objc_retainAutoreleasedReturnValue(v81);</span></code><code><span class="code-snippet_outer">    objc_release(v251);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> ( v251 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v250 = (<span class="code-snippet__keyword">void</span> *)*((_QWORD *)&amp;v387 + <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">      v82 = objc_msgSend(v373, &amp;objectForKeyedSubscript_, <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;gy8&#34;</span>));</span></code><code><span class="code-snippet_outer">      v249 = objc_retainAutoreleasedReturnValue(v82);</span></code><code><span class="code-snippet_outer">      v248 = v249;</span></code><code><span class="code-snippet_outer">      v83 = objc_msgSend(v250, <span class="code-snippet__string">&#34;GBkCxErcvAxxDf:&#34;</span>, v249);<span class="code-snippet__comment">// enc_fild</span></span></code><code><span class="code-snippet_outer">      v368 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v83);</span></code><code><span class="code-snippet_outer">      objc_release(v249);</span></code><code><span class="code-snippet_outer">      v247 = &amp;OBJC_CLASS___NSDictionary;</span></code><code><span class="code-snippet_outer">      v246 = v373;</span></code><code><span class="code-snippet_outer">      v84 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">              (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">              (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;WYGspWgo0hgt+ZxFpTdD6Q==&#34;</span>));</span></code><code><span class="code-snippet_outer">      v245 = objc_retainAutoreleasedReturnValue(v84);</span></code><code><span class="code-snippet_outer">      v244 = v245;</span></code><code><span class="code-snippet_outer">      v85 = objc_msgSend(v373, &amp;objectForKeyedSubscript_, v245);</span></code><code><span class="code-snippet_outer">      v243 = objc_retainAutoreleasedReturnValue(v85);</span></code><code><span class="code-snippet_outer">      v86 = objc_msgSend(enc_idfa_3, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      idfa_enc = objc_retainAutoreleasedReturnValue(v86);</span></code><code><span class="code-snippet_outer">      v87 = objc_msgSend(enc_idfa_3, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      idfa_enc_1 = objc_retainAutoreleasedReturnValue(v87);</span></code><code><span class="code-snippet_outer">      v88 = objc_msgSend(v371, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v240 = objc_retainAutoreleasedReturnValue(v88);</span></code><code><span class="code-snippet_outer">      v89 = objc_msgSend(v371, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      v239 = objc_retainAutoreleasedReturnValue(v89);</span></code><code><span class="code-snippet_outer">      v238 = v370;</span></code><code><span class="code-snippet_outer">      v237 = v369;</span></code><code><span class="code-snippet_outer">      v90 = objc_msgSend(v368, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v236 = objc_retainAutoreleasedReturnValue(v90);</span></code><code><span class="code-snippet_outer">      v91 = objc_msgSend(v368, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      v174 = <span class="code-snippet__number">0</span>LL;</span></code><code><span class="code-snippet_outer">      sg8y = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sg8y&#34;</span>);</span></code><code><span class="code-snippet_outer">      gy8 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;gy8&#34;</span>);</span></code><code><span class="code-snippet_outer">      v170 = v236;</span></code><code><span class="code-snippet_outer">      v169 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;zT2&#34;</span>);</span></code><code><span class="code-snippet_outer">      v167 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;qH4&#34;</span>);</span></code><code><span class="code-snippet_outer">      v165 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sj2s&#34;</span>);</span></code><code><span class="code-snippet_outer">      v164 = v239;</span></code><code><span class="code-snippet_outer">      v163 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;js2&#34;</span>);</span></code><code><span class="code-snippet_outer">      v162 = v240;</span></code><code><span class="code-snippet_outer">      v161 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sf2W&#34;</span>);</span></code><code><span class="code-snippet_outer">      v160 = idfa_enc_1;</span></code><code><span class="code-snippet_outer">      v159 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;fW2&#34;</span>);</span></code><code><span class="code-snippet_outer">      v158 = idfa_enc;</span></code><code><span class="code-snippet_outer">      v157 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;se1&#34;</span>);</span></code><code><span class="code-snippet_outer">      v235 = objc_retainAutoreleasedReturnValue(v91);</span></code><code><span class="code-snippet_outer">      v92 = objc_msgSend(</span></code><code><span class="code-snippet_outer">              &amp;OBJC_CLASS___NSDictionary,</span></code><code><span class="code-snippet_outer">              &amp;aDictionarywith,</span></code><code><span class="code-snippet_outer">              v243,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;se1&#34;</span>),</span></code><code><span class="code-snippet_outer">              idfa_enc,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;fW2&#34;</span>),</span></code><code><span class="code-snippet_outer">              idfa_enc_1,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sf2W&#34;</span>),</span></code><code><span class="code-snippet_outer">              v240,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;js2&#34;</span>),</span></code><code><span class="code-snippet_outer">              v239,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sj2s&#34;</span>),</span></code><code><span class="code-snippet_outer">              v370,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;qH4&#34;</span>),</span></code><code><span class="code-snippet_outer">              v369,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;zT2&#34;</span>),</span></code><code><span class="code-snippet_outer">              v236,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;gy8&#34;</span>),</span></code><code><span class="code-snippet_outer">              v235,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sg8y&#34;</span>),</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v93 = objc_retainAutoreleasedReturnValue(v92);</span></code><code><span class="code-snippet_outer">      v94 = v386;</span></code><code><span class="code-snippet_outer">      *(_QWORD *)&amp;v386 = v93;</span></code><code><span class="code-snippet_outer">      objc_release(v94);</span></code><code><span class="code-snippet_outer">      objc_release(v235);</span></code><code><span class="code-snippet_outer">      objc_release(v236);</span></code><code><span class="code-snippet_outer">      objc_release(v239);</span></code><code><span class="code-snippet_outer">      objc_release(v240);</span></code><code><span class="code-snippet_outer">      objc_release(idfa_enc_1);</span></code><code><span class="code-snippet_outer">      objc_release(idfa_enc);</span></code><code><span class="code-snippet_outer">      objc_release(v243);</span></code><code><span class="code-snippet_outer">      objc_release(v245);</span></code><code><span class="code-snippet_outer">      objc_storeStrong(&amp;v368, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v234 = &amp;OBJC_CLASS___NSDictionary;</span></code><code><span class="code-snippet_outer">      v233 = v373;</span></code><code><span class="code-snippet_outer">      v95 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">              (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">              (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;WYGspWgo0hgt+ZxFpTdD6Q==&#34;</span>));</span></code><code><span class="code-snippet_outer">      v232 = objc_retainAutoreleasedReturnValue(v95);</span></code><code><span class="code-snippet_outer">      v231 = v232;</span></code><code><span class="code-snippet_outer">      v96 = objc_msgSend(v373, &amp;objectForKeyedSubscript_, v232);</span></code><code><span class="code-snippet_outer">      v230 = objc_retainAutoreleasedReturnValue(v96);</span></code><code><span class="code-snippet_outer">      v97 = objc_msgSend(enc_idfa_3, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v229 = objc_retainAutoreleasedReturnValue(v97);</span></code><code><span class="code-snippet_outer">      v98 = objc_msgSend(enc_idfa_3, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      v228 = objc_retainAutoreleasedReturnValue(v98);</span></code><code><span class="code-snippet_outer">      v99 = objc_msgSend(v371, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v227 = objc_retainAutoreleasedReturnValue(v99);</span></code><code><span class="code-snippet_outer">      v100 = objc_msgSend(v371, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      v170 = <span class="code-snippet__number">0</span>LL;</span></code><code><span class="code-snippet_outer">      v169 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;zT2&#34;</span>);</span></code><code><span class="code-snippet_outer">      v168 = v369;</span></code><code><span class="code-snippet_outer">      v167 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;qH4&#34;</span>);</span></code><code><span class="code-snippet_outer">      v166 = v370;</span></code><code><span class="code-snippet_outer">      v165 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sj2s&#34;</span>);</span></code><code><span class="code-snippet_outer">      v163 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;js2&#34;</span>);</span></code><code><span class="code-snippet_outer">      v162 = v227;</span></code><code><span class="code-snippet_outer">      v161 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sf2W&#34;</span>);</span></code><code><span class="code-snippet_outer">      v160 = v228;</span></code><code><span class="code-snippet_outer">      v159 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;fW2&#34;</span>);</span></code><code><span class="code-snippet_outer">      v158 = v229;</span></code><code><span class="code-snippet_outer">      v157 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;se1&#34;</span>);</span></code><code><span class="code-snippet_outer">      v226 = objc_retainAutoreleasedReturnValue(v100);</span></code><code><span class="code-snippet_outer">      v101 = objc_msgSend(</span></code><code><span class="code-snippet_outer">               &amp;OBJC_CLASS___NSDictionary,</span></code><code><span class="code-snippet_outer">               &amp;aDictionarywith,</span></code><code><span class="code-snippet_outer">               v230,</span></code><code><span class="code-snippet_outer">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;se1&#34;</span>),</span></code><code><span class="code-snippet_outer">               v229,</span></code><code><span class="code-snippet_outer">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;fW2&#34;</span>),</span></code><code><span class="code-snippet_outer">               v228,</span></code><code><span class="code-snippet_outer">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sf2W&#34;</span>),</span></code><code><span class="code-snippet_outer">               v227,</span></code><code><span class="code-snippet_outer">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;js2&#34;</span>),</span></code><code><span class="code-snippet_outer">               v226,</span></code><code><span class="code-snippet_outer">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sj2s&#34;</span>),</span></code><code><span class="code-snippet_outer">               v370,</span></code><code><span class="code-snippet_outer">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;qH4&#34;</span>),</span></code><code><span class="code-snippet_outer">               v369,</span></code><code><span class="code-snippet_outer">               <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;zT2&#34;</span>),</span></code><code><span class="code-snippet_outer">               <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">      v102 = objc_retainAutoreleasedReturnValue(v101);</span></code><code><span class="code-snippet_outer">      v103 = v386;</span></code><code><span class="code-snippet_outer">      *(_QWORD *)&amp;v386 = v102;</span></code><code><span class="code-snippet_outer">      objc_release(v103);</span></code><code><span class="code-snippet_outer">      objc_release(v226);</span></code><code><span class="code-snippet_outer">      objc_release(v227);</span></code><code><span class="code-snippet_outer">      objc_release(v228);</span></code><code><span class="code-snippet_outer">      objc_release(v229);</span></code><code><span class="code-snippet_outer">      objc_release(v230);</span></code><code><span class="code-snippet_outer">      objc_release(v232);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;v369, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;v370, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;v371, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;enc_idfa_3, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">    objc_storeStrong(&amp;v373, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v280 = v384;</span></code><code><span class="code-snippet_outer">    v62 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">            (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">            (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RS8OjrvAAW1HJKqFZrTqcA==&#34;</span>));</span></code><code><span class="code-snippet_outer">    v63 = objc_retainAutoreleasedReturnValue(v62);</span></code><code><span class="code-snippet_outer">    v279 = v63;</span></code><code><span class="code-snippet_outer">    v64 = objc_msgSend(v280, <span class="code-snippet__string">&#34;xiOExnwjxvxxxV::&#34;</span>, v63, <span class="code-snippet__number">2</span>LL);</span></code><code><span class="code-snippet_outer">    v65 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v64);</span></code><code><span class="code-snippet_outer">    v66 = v374;</span></code><code><span class="code-snippet_outer">    v374 = v65;</span></code><code><span class="code-snippet_outer">    objc_release(v66);</span></code><code><span class="code-snippet_outer">    objc_release(v279);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> ( !((<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v374, <span class="code-snippet__string">&#34;isEqualToString:&#34;</span>, &amp;stru_100108878) &amp; <span class="code-snippet__number">1</span>) &amp;&amp; v374 )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      v278 = v384;</span></code><code><span class="code-snippet_outer">      v67 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">              (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">              (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RS8OjrvAAW1HJKqFZrTqcA==&#34;</span>));</span></code><code><span class="code-snippet_outer">      v277 = objc_retainAutoreleasedReturnValue(v67);</span></code><code><span class="code-snippet_outer">      v276 = (<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v278, <span class="code-snippet__string">&#34;ExxWKxxtZdtAMN:::&#34;</span>, v277, v374, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">      objc_release(v277);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      objc_storeStrong(&amp;v386, v387);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v104 = objc_msgSend(v385, <span class="code-snippet__string">&#34;DOFDFCxmFLtxXN:&#34;</span>, (_QWORD)v387);</span></code><code><span class="code-snippet_outer">  v367 = objc_retainAutoreleasedReturnValue(v104);</span></code><code><span class="code-snippet_outer">  v225 = v384;</span></code><code><span class="code-snippet_outer">  v105 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">           (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">           (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RS8OjrvAAW1HJKqFZrTqcA==&#34;</span>));</span></code><code><span class="code-snippet_outer">  v224 = objc_retainAutoreleasedReturnValue(v105);</span></code><code><span class="code-snippet_outer">  v223 = (<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v225, <span class="code-snippet__string">&#34;ExxWKxxtZdtAMN:::&#34;</span>, v224, v367, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">  objc_release(v224);</span></code><code><span class="code-snippet_outer">  v222 = v384;</span></code><code><span class="code-snippet_outer">  v106 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">           (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">           (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;RS8OjrvAAW1HJKqFZrTqcA==&#34;</span>));</span></code><code><span class="code-snippet_outer">  v221 = objc_retainAutoreleasedReturnValue(v106);</span></code><code><span class="code-snippet_outer">  v220 = (<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v222, <span class="code-snippet__string">&#34;ExxWKxxtZdtAMN:::&#34;</span>, v221, v367, <span class="code-snippet__number">2</span>LL);</span></code><code><span class="code-snippet_outer">  objc_release(v221);</span></code><code><span class="code-snippet_outer">  v107 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(BlGpxJxgAacxme *, SEL))objc_msgSend)(v389, <span class="code-snippet__string">&#34;uFxDJAxsGxyOOx&#34;</span>);</span></code><code><span class="code-snippet_outer">  v366 = objc_retainAutoreleasedReturnValue(v107);</span></code><code><span class="code-snippet_outer">  v108 = (<span class="code-snippet__keyword">void</span> *)objc_retain(g_strIDSource);</span></code><code><span class="code-snippet_outer">  v365 = v108;</span></code><code><span class="code-snippet_outer">  v219 = &amp;OBJC_CLASS___NSNumber;</span></code><code><span class="code-snippet_outer">  v109 = objc_msgSend(v108, <span class="code-snippet__string">&#34;integerValue&#34;</span>);</span></code><code><span class="code-snippet_outer">  v218 = v109;</span></code><code><span class="code-snippet_outer">  v110 = objc_msgSend(&amp;OBJC_CLASS___NSNumber, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_1904A64E2, v109);</span></code><code><span class="code-snippet_outer">  v364 = objc_retainAutoreleasedReturnValue(v110);</span></code><code><span class="code-snippet_outer">  v111 = (FxLNxvmwQHTxxT *)+[FxLNxvmwQHTxxT sharedInstance](&amp;OBJC_CLASS___FxLNxvmwQHTxxT, <span class="code-snippet__string">&#34;sharedInstance&#34;</span>);</span></code><code><span class="code-snippet_outer">  v112 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v111);</span></code><code><span class="code-snippet_outer">  v363 = v112;</span></code><code><span class="code-snippet_outer">  v113 = objc_msgSend(v112, <span class="code-snippet__string">&#34;strCustomerId&#34;</span>);</span></code><code><span class="code-snippet_outer">  v362 = objc_retainAutoreleasedReturnValue(v113);</span></code><code><span class="code-snippet_outer">  *(_OWORD *)v217 = v387;</span></code><code><span class="code-snippet_outer">  v114 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">           (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">           (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;2xxmKRFKCcr5XU2+msFR+A==&#34;</span>));</span></code><code><span class="code-snippet_outer">  v216 = objc_retainAutoreleasedReturnValue(v114);</span></code><code><span class="code-snippet_outer">  v215 = v216;</span></code><code><span class="code-snippet_outer">  v115 = objc_msgSend(v217[<span class="code-snippet__number">0</span>], &amp;objectForKeyedSubscript_, v216);</span></code><code><span class="code-snippet_outer">  v214 = objc_retainAutoreleasedReturnValue(v115);</span></code><code><span class="code-snippet_outer">  v213 = v214;</span></code><code><span class="code-snippet_outer">  v116 = objc_msgSend(v217[<span class="code-snippet__number">1</span>], <span class="code-snippet__string">&#34;HxWTSXOxluCtkx:&#34;</span>, v214);</span></code><code><span class="code-snippet_outer">  v361 = objc_retainAutoreleasedReturnValue(v116);</span></code><code><span class="code-snippet_outer">  objc_release(v214);</span></code><code><span class="code-snippet_outer">  objc_release(v216);</span></code><code><span class="code-snippet_outer">  *(_OWORD *)v212 = v387;</span></code><code><span class="code-snippet_outer">  v117 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">           (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">           (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;+nnUEO7y67rRr/puoH0wmQ==&#34;</span>));</span></code><code><span class="code-snippet_outer">  v211 = objc_retainAutoreleasedReturnValue(v117);</span></code><code><span class="code-snippet_outer">  v210 = v211;</span></code><code><span class="code-snippet_outer">  v118 = objc_msgSend(v212[<span class="code-snippet__number">0</span>], &amp;objectForKeyedSubscript_, v211);</span></code><code><span class="code-snippet_outer">  v209 = objc_retainAutoreleasedReturnValue(v118);</span></code><code><span class="code-snippet_outer">  v208 = v209;</span></code><code><span class="code-snippet_outer">  v119 = objc_msgSend(v212[<span class="code-snippet__number">1</span>], <span class="code-snippet__string">&#34;HxWTSXOxluCtkx:&#34;</span>, v209);</span></code><code><span class="code-snippet_outer">  v360 = objc_retainAutoreleasedReturnValue(v119);</span></code><code><span class="code-snippet_outer">  objc_release(v209);</span></code><code><span class="code-snippet_outer">  objc_release(v211);</span></code><code><span class="code-snippet_outer">  *(_OWORD *)v207 = v387;</span></code><code><span class="code-snippet_outer">  v120 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">           (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">           (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;vObXs+x9vhDcXdpKshNtFw==&#34;</span>));</span></code><code><span class="code-snippet_outer">  key_idfa = objc_retainAutoreleasedReturnValue(v120);</span></code><code><span class="code-snippet_outer">  v205 = key_idfa;</span></code><code><span class="code-snippet_outer">  v121 = objc_msgSend(v207[<span class="code-snippet__number">0</span>], &amp;objectForKeyedSubscript_, key_idfa);</span></code><code><span class="code-snippet_outer">  idfa_2 = objc_retainAutoreleasedReturnValue(v121);</span></code><code><span class="code-snippet_outer">  v203 = idfa_2;</span></code><code><span class="code-snippet_outer">  v122 = objc_msgSend(v207[<span class="code-snippet__number">1</span>], <span class="code-snippet__string">&#34;GBkCxErcvAxxDf:&#34;</span>, idfa_2);<span class="code-snippet__comment">// enc_fild</span></span></code><code><span class="code-snippet_outer">  enc_idfa = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v122);</span></code><code><span class="code-snippet_outer">  objc_release(idfa_2);</span></code><code><span class="code-snippet_outer">  objc_release(key_idfa);</span></code><code><span class="code-snippet_outer">  *(_OWORD *)v202 = v387;</span></code><code><span class="code-snippet_outer">  v123 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">           (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">           (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;uPUdV+fjkO9vswOQpPrXTg==&#34;</span>));</span></code><code><span class="code-snippet_outer">  key_idfv = objc_retainAutoreleasedReturnValue(v123);</span></code><code><span class="code-snippet_outer">  v200 = key_idfv;</span></code><code><span class="code-snippet_outer">  v124 = objc_msgSend(v202[<span class="code-snippet__number">0</span>], &amp;objectForKeyedSubscript_, key_idfv);</span></code><code><span class="code-snippet_outer">  idfv = objc_retainAutoreleasedReturnValue(v124);</span></code><code><span class="code-snippet_outer">  v198 = idfv;</span></code><code><span class="code-snippet_outer">  v125 = objc_msgSend(v202[<span class="code-snippet__number">1</span>], <span class="code-snippet__string">&#34;GBkCxErcvAxxDf:&#34;</span>, idfv);<span class="code-snippet__comment">// enc_fild</span></span></code><code><span class="code-snippet_outer">  enc_idfv = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v125);</span></code><code><span class="code-snippet_outer">  objc_release(idfv);</span></code><code><span class="code-snippet_outer">  objc_release(key_idfv);</span></code><code><span class="code-snippet_outer">  v126 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(BlGpxJxgAacxme *, SEL))objc_msgSend)(v389, <span class="code-snippet__string">&#34;aoxvxLxSXxxbGf&#34;</span>);</span></code><code><span class="code-snippet_outer">  v127 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v126);</span></code><code><span class="code-snippet_outer">  v357 = v127;</span></code><code><span class="code-snippet_outer">  v128 = objc_msgSend(*((<span class="code-snippet__keyword">void</span> **)&amp;v387 + <span class="code-snippet__number">1</span>), <span class="code-snippet__string">&#34;GBkCxErcvAxxDf:&#34;</span>, v127);<span class="code-snippet__comment">// enc_fild</span></span></code><code><span class="code-snippet_outer">  v356 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v128);</span></code><code><span class="code-snippet_outer">  v129 = (<span class="code-snippet__keyword">void</span> *)objc_retain(g_idfaSource);</span></code><code><span class="code-snippet_outer">  v355 = v129;</span></code><code><span class="code-snippet_outer">  v197 = &amp;OBJC_CLASS___NSNumber;</span></code><code><span class="code-snippet_outer">  v130 = objc_msgSend(v129, <span class="code-snippet__string">&#34;integerValue&#34;</span>);</span></code><code><span class="code-snippet_outer">  v196 = v130;</span></code><code><span class="code-snippet_outer">  v131 = objc_msgSend(&amp;OBJC_CLASS___NSNumber, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_1904A64E2, v130);</span></code><code><span class="code-snippet_outer">  v354 = objc_retainAutoreleasedReturnValue(v131);</span></code><code><span class="code-snippet_outer">  v353 = objc_retain(&amp;stru_100108878);</span></code><code><span class="code-snippet_outer">  v132 = objc_msgSend(&amp;OBJC_CLASS___NSFileManager, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_1904AB06A);</span></code><code><span class="code-snippet_outer">  v133 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v132);</span></code><code><span class="code-snippet_outer">  v195 = v133;</span></code><code><span class="code-snippet_outer">  v134 = objc_msgSend(v133, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_1A14609D6, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">  v194 = objc_retainAutoreleasedReturnValue(v134);</span></code><code><span class="code-snippet_outer">  objc_release(v194);</span></code><code><span class="code-snippet_outer">  objc_release(v195);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> ( v194 )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    v135 = objc_msgSend(&amp;OBJC_CLASS___NSUbiquitousKeyValueStore, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_1977146F8);</span></code><code><span class="code-snippet_outer">    v193 = (<span class="code-snippet__keyword">void</span> *)objc_retainAutoreleasedReturnValue(v135);</span></code><code><span class="code-snippet_outer">    v136 = ((<span class="code-snippet__keyword">id</span> (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, <span class="code-snippet__keyword">id</span>))objc_msgSend)(</span></code><code><span class="code-snippet_outer">             (EdkxBSqSeZInGK_meta *)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></code><code><span class="code-snippet_outer">             <span class="code-snippet__string">&#34;xRtnOPpipxtpxx:&#34;</span>,</span></code><code><span class="code-snippet_outer">             (<span class="code-snippet__keyword">id</span>)<span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;cs+/NyxzuGM+4ZVOsVQBOA==&#34;</span>));</span></code><code><span class="code-snippet_outer">    v137 = objc_retainAutoreleasedReturnValue(v136);</span></code><code><span class="code-snippet_outer">    v192 = v137;</span></code><code><span class="code-snippet_outer">    v138 = objc_msgSend(v193, (<span class="code-snippet__keyword">const</span> <span class="code-snippet__keyword">char</span> *)&amp;unk_1904B0BF7, v137);</span></code><code><span class="code-snippet_outer">    v139 = objc_retainAutoreleasedReturnValue(v138);</span></code><code><span class="code-snippet_outer">    v140 = v353;</span></code><code><span class="code-snippet_outer">    v353 = v139;</span></code><code><span class="code-snippet_outer">    objc_release(v140);</span></code><code><span class="code-snippet_outer">    objc_release(v192);</span></code><code><span class="code-snippet_outer">    objc_release(v193);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  v191 = &amp;OBJC_CLASS___NSDictionary;</span></code><code><span class="code-snippet_outer">  v141 = objc_msgSend(enc_idfa, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">  enc_idfa_1 = objc_retainAutoreleasedReturnValue(v141);</span></code><code><span class="code-snippet_outer">  v142 = objc_msgSend(enc_idfa, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">  enc_idfa_2 = objc_retainAutoreleasedReturnValue(v142);</span></code><code><span class="code-snippet_outer">  v143 = objc_msgSend(enc_idfv, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">  enc_idfv_1 = objc_retainAutoreleasedReturnValue(v143);</span></code><code><span class="code-snippet_outer">  enc_idfv_2 = objc_msgSend(enc_idfv, &amp;objectAtIndexedSubscript_, <span class="code-snippet__number">1</span>LL);</span></code><code><span class="code-snippet_outer">  v170 = <span class="code-snippet__number">0</span>LL;</span></code><code><span class="code-snippet_outer">  v169 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;zT2&#34;</span>);</span></code><code><span class="code-snippet_outer">  v168 = v360;</span></code><code><span class="code-snippet_outer">  v167 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;se1&#34;</span>);</span></code><code><span class="code-snippet_outer">  v166 = v366;</span></code><code><span class="code-snippet_outer">  v165 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;qH4&#34;</span>);</span></code><code><span class="code-snippet_outer">  v164 = v361;</span></code><code><span class="code-snippet_outer">  v163 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sj2s&#34;</span>);</span></code><code><span class="code-snippet_outer">  v161 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;js2&#34;</span>);</span></code><code><span class="code-snippet_outer">  v160 = enc_idfv_1;</span></code><code><span class="code-snippet_outer">  v159 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sf2W&#34;</span>);</span></code><code><span class="code-snippet_outer">  v158 = enc_idfa_2;</span></code><code><span class="code-snippet_outer">  v157 = <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;fW2&#34;</span>);</span></code><code><span class="code-snippet_outer">  v187 = objc_retainAutoreleasedReturnValue(enc_idfv_2);</span></code><code><span class="code-snippet_outer">  v145 = objc_msgSend(</span></code><code><span class="code-snippet_outer">           &amp;OBJC_CLASS___NSDictionary,</span></code><code><span class="code-snippet_outer">           &amp;aDictionarywith,</span></code><code><span class="code-snippet_outer">           enc_idfa_1,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;fW2&#34;</span>),</span></code><code><span class="code-snippet_outer">           enc_idfa_2,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sf2W&#34;</span>),</span></code><code><span class="code-snippet_outer">           enc_idfv_1,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;js2&#34;</span>),</span></code><code><span class="code-snippet_outer">           v187,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;sj2s&#34;</span>),</span></code><code><span class="code-snippet_outer">           v361,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;qH4&#34;</span>),</span></code><code><span class="code-snippet_outer">           v366,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;se1&#34;</span>),</span></code><code><span class="code-snippet_outer">           v360,</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__built_in">CFSTR</span>(<span class="code-snippet__string">&#34;zT2&#34;</span>),</span></code><code><span class="code-snippet_outer">           <span class="code-snippet__number">0</span>LL);</span></code><code><span class="code-snippet_outer">  v146 = objc_retainAutoreleasedReturnValue(v145);</span></code><code><span class="code-snippet_outer">  v147 = v387;</span></code><code><span class="code-snippet_outer">  *(_QWORD *)&amp;v387 = v146;</span></code><code><span class="code-snippet_outer">  objc_release(v147);</span></code><code><span class="code-snippet_outer">  objc_release(v187);</span></code><code><span class="code-snippet_outer">  objc_release(enc_idfv_1);</span></code><code><span class="code-snippet_outer">  objc_release(enc_idfa_2);</span></code><code><span class="code-snippet_outer">  objc_release(enc_idfa_1);</span></code><code><span class="code-snippet_outer">  v352 = <span class="code-snippet__number">0</span>LL;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> ( !v357 || (<span class="code-snippet__keyword">unsigned</span> __int64)objc_msgSend(v357, <span class="code-snippet__string">&#34;isEqualToString:&#34;</span>, </span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span> (<span class="code-snippet__keyword">id</span>)objc_autoreleaseReturnValue(v178);</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">将获取到与生成ID有关的字段进行加密处理，加密IDFA两种方式，第一是直接加密IDFA:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__meta">//</span> <span class="code-snippet__string">加密字段</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">id</span> <span class="code-snippet__string">__cdecl -[EdkxBSqSeZInGK GBkCxErcvAxxDf:](EdkxBSqSeZInGK *self, SEL a2, id a3)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v385</span> = <span class="code-snippet__string">4423598488041029675LL;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v307</span> = <span class="code-snippet__string">self;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v306</span> = <span class="code-snippet__string">a2;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v305</span> = <span class="code-snippet__string">0LL;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v237</span> = <span class="code-snippet__string">4423598488041029675LL;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;v305,</span> <span class="code-snippet__string">a3);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v305 &amp;&amp; !((unsigned __int64)objc_msgSend(v305, &#34;isEqualToString:&#34;, &amp;stru_100108878) &amp; 1) )</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v303</span> = <span class="code-snippet__string">(void *)objc_retain(&amp;stru_100108878);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v302</span> = <span class="code-snippet__string">(signed __int64)objc_msgSend(*((void **)v307 + 1), &#34;integerValue&#34;) % 100;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v4</span> = <span class="code-snippet__string">(void *)*((_QWORD *)v307 + 1);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v236</span> = <span class="code-snippet__string">100LL;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v5</span> = <span class="code-snippet__string">objc_msgSend(v4, &#34;substringToIndex:&#34;, 1LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v301</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v5);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v6</span> = <span class="code-snippet__string">objc_msgSend(v307, &#34;xxxFhxnEIogmEY:&#34;, v305);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v7</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v6);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v300</span> = <span class="code-snippet__string">v7;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v8</span> = <span class="code-snippet__string">objc_msgSend(v7, (const char *)&amp;unk_1904A27C2, 0LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v9</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v8);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v10</span> = <span class="code-snippet__string">v305;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v305</span> = <span class="code-snippet__string">v9;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">objc_release(v10);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( i = 0; ; ++i )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v235</span> = <span class="code-snippet__string">i;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v11</span> = <span class="code-snippet__string">objc_msgSend(v305, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v235 &gt;= (unsigned __int64)v11 )</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v12</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v305, &#34;characterAtIndex:&#34;, i);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v297</span> = <span class="code-snippet__string">v302 % 50 + 1;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v298</span> = <span class="code-snippet__string">v297 + v12;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v297 + v12 &gt; 126 )</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v298</span> <span class="code-snippet__string">-= 95;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v154</span> = <span class="code-snippet__string">v298;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v234</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v13</span> = <span class="code-snippet__string">unk_18A4FB144(&amp;OBJC_CLASS___NSString, &#34;stringWithFormat:&#34;, CFSTR(&#34;%c&#34;), v298);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v14</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v13);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v233</span> = <span class="code-snippet__string">v14;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v15</span> = <span class="code-snippet__string">objc_msgSend(v234, &#34;stringByAppendingString:&#34;, v14);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v16</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v15);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v17</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v303</span> = <span class="code-snippet__string">v16;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">objc_release(v17);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">objc_release(v233);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v296</span> = <span class="code-snippet__string">(signed int)objc_msgSend(v301, &#34;intValue&#34;) % 4;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v232</span> = <span class="code-snippet__string">4;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = objc_retain(&amp;stru_100108878);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v296 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">switch</span> <span class="code-snippet__string">( v296 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">case</span> <span class="code-snippet__string">1:</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( (unsigned __int64)objc_msgSend(v303, &#34;length&#34;) &amp; 1 )</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v196</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v195</span> = <span class="code-snippet__string">(const char **)&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v75</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v76</span> = <span class="code-snippet__string">objc_msgSend(v196, &#34;substringToIndex:&#34;, v75 &gt;&gt; 1);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v271</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v76);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v77</span> = <span class="code-snippet__string">*v195;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v194</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v78</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, v77);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v79</span> = <span class="code-snippet__string">objc_msgSend(v194, &#34;substringFromIndex:&#34;, (v78 &gt;&gt; 1) + 1);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v270</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v79);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v80</span> = <span class="code-snippet__string">*v195;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v193</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v81</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, v80);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v338</span> = <span class="code-snippet__string">v81 &gt;&gt; 1;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v337</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v339</span> = <span class="code-snippet__string">v81 &gt;&gt; 1;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v340</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v268</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v267</span> = <span class="code-snippet__string">v81 &gt;&gt; 1;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v82</span> = <span class="code-snippet__string">objc_msgSend(v193, &amp;substringWithRange_, v81 &gt;&gt; 1, 1LL);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v269</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v82);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( j = 0; ; ++j )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v192</span> = <span class="code-snippet__string">j;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v83</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v192 &gt;= v83 &gt;&gt; 1 )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v191</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v190</span> = <span class="code-snippet__string">v270;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v84</span> = <span class="code-snippet__string">(char *)objc_msgSend(v270, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v342</span> = <span class="code-snippet__string">&amp;v84[~(signed __int64)j];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v341</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v343</span> = <span class="code-snippet__string">&amp;v84[~(signed __int64)j];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v344</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v265</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v264</span> = <span class="code-snippet__string">&amp;v84[~(signed __int64)j];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v189</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v188</span> = <span class="code-snippet__string">&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v85</span> = <span class="code-snippet__string">objc_msgSend(v190, &amp;substringWithRange_, v342, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v86</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v85);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v187</span> = <span class="code-snippet__string">v86;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v87</span> = <span class="code-snippet__string">objc_msgSend(v191, &#34;stringByAppendingString:&#34;, v86);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v88</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v87);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v89</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v88;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v89);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v187);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v350</span> = <span class="code-snippet__string">j;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v349</span> = <span class="code-snippet__string">v189;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v351</span> = <span class="code-snippet__string">j;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v352</span> = <span class="code-snippet__string">v189;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v263</span> = <span class="code-snippet__string">v189;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v262</span> = <span class="code-snippet__string">j;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v90</span> = <span class="code-snippet__string">v188[15];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v186</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v91</span> = <span class="code-snippet__string">objc_msgSend(v271, v90, j, v189);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v92</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v91);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v185</span> = <span class="code-snippet__string">v92;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v93</span> = <span class="code-snippet__string">objc_msgSend(v186, &#34;stringByAppendingString:&#34;, v92);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v94</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v93);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v95</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v94;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v95);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v185);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v96</span> = <span class="code-snippet__string">objc_msgSend(*((void **)&amp;v295 + 1), &#34;stringByAppendingString:&#34;, v269);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v97</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v96);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v98</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v97;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">objc_release(v98);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__meta">objc_storeStrong(&amp;v269,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__meta">objc_storeStrong(&amp;v270,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__meta">objc_storeStrong(&amp;v271,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">else</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v206</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v58</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v59</span> = <span class="code-snippet__string">objc_msgSend(v206, &#34;substringToIndex:&#34;, v58 &gt;&gt; 1);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v278</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v59);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v205</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v60</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v61</span> = <span class="code-snippet__string">objc_msgSend(v205, &#34;substringFromIndex:&#34;, v60 &gt;&gt; 1);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">v277</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v61);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( k = 0; ; ++k )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v204</span> = <span class="code-snippet__string">k;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v62</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v204 &gt;= v62 &gt;&gt; 1 )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v203</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v202</span> = <span class="code-snippet__string">v277;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v63</span> = <span class="code-snippet__string">(char *)objc_msgSend(v277, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v330</span> = <span class="code-snippet__string">&amp;v63[~(signed __int64)k];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v329</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v331</span> = <span class="code-snippet__string">&amp;v63[~(signed __int64)k];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v332</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v275</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v274</span> = <span class="code-snippet__string">&amp;v63[~(signed __int64)k];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v201</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v200</span> = <span class="code-snippet__string">&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v64</span> = <span class="code-snippet__string">objc_msgSend(v202, &amp;substringWithRange_, v330, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v65</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v64);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v199</span> = <span class="code-snippet__string">v65;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v66</span> = <span class="code-snippet__string">objc_msgSend(v203, &#34;stringByAppendingString:&#34;, v65);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v67</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v66);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v68</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v67;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v68);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v199);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v334</span> = <span class="code-snippet__string">k;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v333</span> = <span class="code-snippet__string">v201;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v335</span> = <span class="code-snippet__string">k;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v336</span> = <span class="code-snippet__string">v201;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v273</span> = <span class="code-snippet__string">v201;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v272</span> = <span class="code-snippet__string">k;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v69</span> = <span class="code-snippet__string">v200[15];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v198</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v70</span> = <span class="code-snippet__string">objc_msgSend(v278, v69, k, v201);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v71</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v70);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v197</span> = <span class="code-snippet__string">v71;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v72</span> = <span class="code-snippet__string">objc_msgSend(v198, &#34;stringByAppendingString:&#34;, v71);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v73</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v72);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v74</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v73;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v74);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v197);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__meta">objc_storeStrong(&amp;v277,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__meta">objc_storeStrong(&amp;v278,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">case</span> <span class="code-snippet__string">2:</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( (unsigned __int64)objc_msgSend(v303, &#34;length&#34;) &amp; 1 )</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( l = 0; ; ++l )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v176</span> = <span class="code-snippet__string">2 * l;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v113</span> = <span class="code-snippet__string">objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v176 &gt;= (unsigned __int64)v113 )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v175</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v174</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v114</span> = <span class="code-snippet__string">(char *)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v362</span> = <span class="code-snippet__string">&amp;v114[~(signed __int64)(2 * l)];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v361</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v363</span> = <span class="code-snippet__string">&amp;v114[~(signed __int64)(2 * l)];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v364</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v254</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v253</span> = <span class="code-snippet__string">&amp;v114[~(signed __int64)(2 * l)];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v115</span> = <span class="code-snippet__string">objc_msgSend(v174, &amp;substringWithRange_, v253, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v116</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v115);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v173</span> = <span class="code-snippet__string">v116;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v117</span> = <span class="code-snippet__string">objc_msgSend(v175, &#34;stringByAppendingString:&#34;, v116);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v118</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v117);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v119</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v118;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v119);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v173);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( m = 0; ; ++m )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v172</span> = <span class="code-snippet__string">2 * m;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v120</span> = <span class="code-snippet__string">(char *)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v172 &gt;= (unsigned __int64)(v120 - 1) )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v171</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v170</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v121</span> = <span class="code-snippet__string">(char *)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v366</span> = <span class="code-snippet__string">&amp;v121[-2 * m - 2];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v365</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v367</span> = <span class="code-snippet__string">&amp;v121[-2 * m - 2];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v368</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v251</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v250</span> = <span class="code-snippet__string">&amp;v121[-2 * m - 2];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v122</span> = <span class="code-snippet__string">objc_msgSend(v170, &amp;substringWithRange_, v250, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v123</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v122);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v169</span> = <span class="code-snippet__string">v123;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v124</span> = <span class="code-snippet__string">objc_msgSend(v171, &#34;stringByAppendingString:&#34;, v123);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v125</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v124);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v126</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v125;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v126);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v169);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">else</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( n = 0; ; ++n )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v184</span> = <span class="code-snippet__string">2 * n;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v99</span> = <span class="code-snippet__string">objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v184 &gt;= (unsigned __int64)v99 )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v183</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v182</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v100</span> = <span class="code-snippet__string">(char *)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v354</span> = <span class="code-snippet__string">&amp;v100[~(signed __int64)(2 * n)];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v353</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v355</span> = <span class="code-snippet__string">&amp;v100[~(signed __int64)(2 * n)];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v356</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v260</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v259</span> = <span class="code-snippet__string">&amp;v100[~(signed __int64)(2 * n)];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v101</span> = <span class="code-snippet__string">objc_msgSend(v182, &amp;substringWithRange_, v354, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v102</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v101);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v181</span> = <span class="code-snippet__string">v102;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v103</span> = <span class="code-snippet__string">objc_msgSend(v183, &#34;stringByAppendingString:&#34;, v102);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v104</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v103);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v105</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v104;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v105);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v181);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( ii = 0; ; ++ii )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v180</span> = <span class="code-snippet__string">2 * ii;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v106</span> = <span class="code-snippet__string">objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v180 &gt;= (unsigned __int64)v106 )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v179</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v178</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v107</span> = <span class="code-snippet__string">(char *)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v358</span> = <span class="code-snippet__string">&amp;v107[-2 * ii - 2];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v357</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v359</span> = <span class="code-snippet__string">&amp;v107[-2 * ii - 2];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v360</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v257</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v256</span> = <span class="code-snippet__string">&amp;v107[-2 * ii - 2];</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v108</span> = <span class="code-snippet__string">objc_msgSend(v178, &amp;substringWithRange_, v256, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v109</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v108);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v177</span> = <span class="code-snippet__string">v109;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v110</span> = <span class="code-snippet__string">objc_msgSend(v179, &#34;stringByAppendingString:&#34;, v109);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v111</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v110);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v112</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v111;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v112);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v177);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">case</span> <span class="code-snippet__string">3:</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( (unsigned __int64)objc_msgSend(v303, &#34;length&#34;) &amp; 1 )</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( jj = 0; ; ++jj )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v162</span> = <span class="code-snippet__string">2 * jj;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v139</span> = <span class="code-snippet__string">objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v162 &gt;= (unsigned __int64)v139 )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v370</span> = <span class="code-snippet__string">2 * jj;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v369</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v371</span> = <span class="code-snippet__string">2 * jj;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v372</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v242</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v241</span> = <span class="code-snippet__string">2 * jj;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v161</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v140</span> = <span class="code-snippet__string">objc_msgSend(v303, &amp;substringWithRange_, v370, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v141</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v140);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v160</span> = <span class="code-snippet__string">v141;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v142</span> = <span class="code-snippet__string">objc_msgSend(v161, &#34;stringByAppendingString:&#34;, v141);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v143</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v142);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v144</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v143;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v144);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v160);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( kk = 0; ; ++kk )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v159</span> = <span class="code-snippet__string">2 * kk;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v145</span> = <span class="code-snippet__string">(char *)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v159 &gt;= (unsigned __int64)(v145 - 1) )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v346</span> = <span class="code-snippet__string">2 * kk | 1;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v345</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v347</span> = <span class="code-snippet__string">2 * kk | 1;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v348</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v239</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v238</span> = <span class="code-snippet__string">2 * kk | 1;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v158</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v146</span> = <span class="code-snippet__string">objc_msgSend(v303, &amp;substringWithRange_, v346, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v147</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v146);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v157</span> = <span class="code-snippet__string">v147;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v148</span> = <span class="code-snippet__string">objc_msgSend(v158, &#34;stringByAppendingString:&#34;, v147);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v149</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v148);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v150</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v149;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v150);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v157);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">else</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( ll = 0; ; ++ll )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v168</span> = <span class="code-snippet__string">2 * ll;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v127</span> = <span class="code-snippet__string">objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v168 &gt;= (unsigned __int64)v127 )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v374</span> = <span class="code-snippet__string">2 * ll;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v373</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v375</span> = <span class="code-snippet__string">2 * ll;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v376</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v248</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v247</span> = <span class="code-snippet__string">2 * ll;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v167</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v128</span> = <span class="code-snippet__string">objc_msgSend(v303, &amp;substringWithRange_, v374, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v129</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v128);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v166</span> = <span class="code-snippet__string">v129;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v130</span> = <span class="code-snippet__string">objc_msgSend(v167, &#34;stringByAppendingString:&#34;, v129);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v131</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v130);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v132</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v131;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v132);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v166);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( mm = 0; ; ++mm )</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v165</span> = <span class="code-snippet__string">2 * mm;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v133</span> = <span class="code-snippet__string">objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v165 &gt;= (unsigned __int64)v133 )</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v378</span> = <span class="code-snippet__string">2 * mm | 1;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v377</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v379</span> = <span class="code-snippet__string">2 * mm | 1;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v380</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v245</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v244</span> = <span class="code-snippet__string">2 * mm | 1;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v164</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v134</span> = <span class="code-snippet__string">objc_msgSend(v303, &amp;substringWithRange_, v378, 1LL);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v135</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v134);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v163</span> = <span class="code-snippet__string">v135;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v136</span> = <span class="code-snippet__string">objc_msgSend(v164, &#34;stringByAppendingString:&#34;, v135);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v137</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v136);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">v138</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v137;</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v138);</span></span></code><code><span class="code-snippet_outer">              <span class="code-snippet__attr">objc_release(v163);</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">else</span> <span class="code-snippet__string">if ( (unsigned __int64)objc_msgSend(v303, &#34;length&#34;) &amp; 1 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v220</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v219</span> = <span class="code-snippet__string">(const char **)&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v36</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v37</span> = <span class="code-snippet__string">objc_msgSend(v220, &#34;substringToIndex:&#34;, v36 &gt;&gt; 1);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v288</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v37);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v38</span> = <span class="code-snippet__string">*v219;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v218</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v39</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, v38);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v40</span> = <span class="code-snippet__string">objc_msgSend(v218, &#34;substringFromIndex:&#34;, (v39 &gt;&gt; 1) + 1);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v287</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v40);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v41</span> = <span class="code-snippet__string">*v219;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v217</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v42</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, v41);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v318</span> = <span class="code-snippet__string">v42 &gt;&gt; 1;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v317</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v319</span> = <span class="code-snippet__string">v42 &gt;&gt; 1;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v320</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v285</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v284</span> = <span class="code-snippet__string">v42 &gt;&gt; 1;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v43</span> = <span class="code-snippet__string">objc_msgSend(v217, &amp;substringWithRange_, v42 &gt;&gt; 1, 1LL);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v286</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v43);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__meta">objc_storeStrong((char</span> <span class="code-snippet__string">*)&amp;v295 + 8, v286);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( nn = 0; ; ++nn )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v216</span> = <span class="code-snippet__string">nn;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v44</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v216 &gt;= v44 &gt;&gt; 1 )</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v215</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v214</span> = <span class="code-snippet__string">v287;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v213</span> = <span class="code-snippet__string">(const char **)&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v45</span> = <span class="code-snippet__string">(char *)objc_msgSend(v287, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v322</span> = <span class="code-snippet__string">&amp;v45[~(signed __int64)nn];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v321</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v323</span> = <span class="code-snippet__string">&amp;v45[~(signed __int64)nn];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v324</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v282</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v281</span> = <span class="code-snippet__string">&amp;v45[~(signed __int64)nn];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v212</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v211</span> = <span class="code-snippet__string">&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v46</span> = <span class="code-snippet__string">objc_msgSend(v214, &amp;substringWithRange_, v322, 1LL);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v47</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v46);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v210</span> = <span class="code-snippet__string">v47;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v48</span> = <span class="code-snippet__string">objc_msgSend(v215, &#34;stringByAppendingString:&#34;, v47);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v49</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v48);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v50</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v49;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">objc_release(v50);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">objc_release(v210);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v51</span> = <span class="code-snippet__string">*v213;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v209</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v208</span> = <span class="code-snippet__string">v288;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v52</span> = <span class="code-snippet__string">(char *)objc_msgSend(v288, v51);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v326</span> = <span class="code-snippet__string">&amp;v52[~(signed __int64)nn];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v325</span> = <span class="code-snippet__string">v212;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v327</span> = <span class="code-snippet__string">&amp;v52[~(signed __int64)nn];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v328</span> = <span class="code-snippet__string">v212;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v280</span> = <span class="code-snippet__string">v212;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v279</span> = <span class="code-snippet__string">&amp;v52[~(signed __int64)nn];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v53</span> = <span class="code-snippet__string">objc_msgSend(v208, v211[15], v326, v212);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v54</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v53);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v207</span> = <span class="code-snippet__string">v54;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v55</span> = <span class="code-snippet__string">objc_msgSend(v209, &#34;stringByAppendingString:&#34;, v54);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v56</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v55);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v57</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v56;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">objc_release(v57);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">objc_release(v207);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__meta">objc_storeStrong(&amp;v286,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__meta">objc_storeStrong(&amp;v287,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__meta">objc_storeStrong(&amp;v288,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">else</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v231</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v18</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v19</span> = <span class="code-snippet__string">objc_msgSend(v231, &#34;substringToIndex:&#34;, v18 &gt;&gt; 1);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__meta">*(_QWORD</span> <span class="code-snippet__string">*)&amp;v295 = objc_retainAutoreleasedReturnValue(v19);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v230</span> = <span class="code-snippet__string">v303;</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v20</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v21</span> = <span class="code-snippet__string">objc_msgSend(v230, &#34;substringFromIndex:&#34;, v20 &gt;&gt; 1);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">v294</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v21);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( i1 = 0; ; ++i1 )</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v229</span> = <span class="code-snippet__string">i1;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v22</span> = <span class="code-snippet__string">(unsigned __int64)objc_msgSend(v303, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v229 &gt;= v22 &gt;&gt; 1 )</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">break;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v228</span> = <span class="code-snippet__string">(void *)*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v227</span> = <span class="code-snippet__string">v294;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v226</span> = <span class="code-snippet__string">(const char **)&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v23</span> = <span class="code-snippet__string">(char *)objc_msgSend(v294, &#34;length&#34;);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v310</span> = <span class="code-snippet__string">&amp;v23[~(signed __int64)i1];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v309</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v311</span> = <span class="code-snippet__string">&amp;v23[~(signed __int64)i1];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v312</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v292</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v291</span> = <span class="code-snippet__string">&amp;v23[~(signed __int64)i1];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v225</span> = <span class="code-snippet__string">1LL;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v224</span> = <span class="code-snippet__string">&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v24</span> = <span class="code-snippet__string">objc_msgSend(v227, &amp;substringWithRange_, v310, 1LL);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v25</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v24);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v223</span> = <span class="code-snippet__string">v25;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v26</span> = <span class="code-snippet__string">objc_msgSend(v228, &#34;stringByAppendingString:&#34;, v25);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v27</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v26);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v28</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v27;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">objc_release(v28);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">objc_release(v223);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v29</span> = <span class="code-snippet__string">*v226;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v222</span> = <span class="code-snippet__string">v295;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v30</span> = <span class="code-snippet__string">(char *)objc_msgSend((void *)v295, v29);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v314</span> = <span class="code-snippet__string">&amp;v30[~(signed __int64)i1];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v313</span> = <span class="code-snippet__string">v225;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v315</span> = <span class="code-snippet__string">&amp;v30[~(signed __int64)i1];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v316</span> = <span class="code-snippet__string">v225;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v290</span> = <span class="code-snippet__string">v225;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v289</span> = <span class="code-snippet__string">&amp;v30[~(signed __int64)i1];</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v31</span> = <span class="code-snippet__string">objc_msgSend((void *)v222, v224[15], v314, v225);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v32</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v31);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v221</span> = <span class="code-snippet__string">v32;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v33</span> = <span class="code-snippet__string">objc_msgSend(*((void **)&amp;v222 + 1), &#34;stringByAppendingString:&#34;, v32);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v34</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v33);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">v35</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__meta">*((_QWORD</span> <span class="code-snippet__string">*)&amp;v295 + 1) = v34;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">objc_release(v35);</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">objc_release(v221);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__meta">objc_storeStrong(&amp;v294,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__meta">objc_storeStrong(&amp;v295,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v381</span> = <span class="code-snippet__string">*((_QWORD *)&amp;v295 + 1);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v151</span> = <span class="code-snippet__string">objc_msgSend(v300, (const char *)&amp;unk_1904A27C2, 1LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v382</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v151);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v156</span> = <span class="code-snippet__string">v382;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v152</span> = <span class="code-snippet__string">objc_msgSend(&amp;OBJC_CLASS___NSArray, &amp;arrayWithObjects_count_, &amp;v381, 2LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v308</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v152);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">objc_release(v156);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v304</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">objc_storeStrong((char</span> <span class="code-snippet__string">*)&amp;v295 + 8, 0LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">objc_storeStrong(&amp;v300,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">objc_storeStrong(&amp;v301,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__meta">objc_storeStrong(&amp;v303,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">else</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v383</span> = <span class="code-snippet__string">&amp;stru_100108878;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v384</span> = <span class="code-snippet__string">&amp;stru_100108878;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v3</span> = <span class="code-snippet__string">objc_msgSend(&amp;OBJC_CLASS___NSArray, &amp;arrayWithObjects_count_, &amp;v383, 2LL);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v308</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v3);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v304</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;v305,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">result</span> = <span class="code-snippet__string">(id)objc_autoreleaseReturnValue(v308);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v155</span> = <span class="code-snippet__string">result;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( v385 == 4423598488041029675LL )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">result</span> = <span class="code-snippet__string">v155;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">return</span> <span class="code-snippet__string">result;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">}</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">第二是计算IDFA的MD5后生成一个did的字段：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">id</span> <span class="code-snippet__string">__cdecl IDFA_MD5(BlGpxJxgAacxme *self, SEL a2, id a3)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">BlGpxJxgAacxme</span> <span class="code-snippet__string">*v77; // [xsp+118h] [xbp-48h]</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v77</span> = <span class="code-snippet__string">self;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v76</span> = <span class="code-snippet__string">a2;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">IDFA</span> = <span class="code-snippet__string">0LL;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;IDFA,</span> <span class="code-snippet__string">a3);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v3</span> = <span class="code-snippet__string">(void *)objc_alloc(&amp;OBJC_CLASS___xxxNxNxxfRxxxx);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v74</span> = <span class="code-snippet__string">objc_msgSend(v3, (const char *)&amp;unk_1904A15CF);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v4</span> = <span class="code-snippet__string">((id (__cdecl *)(EdkxBSqSeZInGK_meta *, SEL, id))objc_msgSend)(</span></span></code><code><span class="code-snippet_outer">         <span class="code-snippet__meta">(EdkxBSqSeZInGK_meta</span> <span class="code-snippet__string">*)&amp;OBJC_CLASS___EdkxBSqSeZInGK,</span></span></code><code><span class="code-snippet_outer">         <span class="code-snippet__meta">&#34;xRtnOPpipxtpxx</span>:<span class="code-snippet__string">&#34;,</span></span></code><code><span class="code-snippet_outer">         <span class="code-snippet__meta">(id)CFSTR(&#34;Q9h/cD7zftP12bKwl7eWdQ</span>=<span class="code-snippet__string">=&#34;));// 常量字符串&#34;superrise&#34;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">superrise</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v4);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v43</span> = <span class="code-snippet__string">superrise;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v42</span> = <span class="code-snippet__string">IDFA;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v5</span> = <span class="code-snippet__string">objc_msgSend(&amp;OBJC_CLASS___NSString, (const char *)&amp;unk_1904A1C2A, CFSTR(&#34;%@%@&#34;), IDFA, superrise);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">IDFA_superrise</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v5);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v72</span> = <span class="code-snippet__string">IDFA_superrise;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v7</span> = <span class="code-snippet__string">objc_msgSend(v74, &#34;CyxQVxxkxxOyhf:&#34;, IDFA_superrise);// md5</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">IDAmd5</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v7);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v71</span> = <span class="code-snippet__string">(__int64)IDAmd5;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v9</span> = <span class="code-snippet__string">objc_msgSend(IDAmd5, &amp;::uppercaseString);// MD5字符串转换成大小</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">md5_uppercaseString</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v9);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">uppercaseString</span> = <span class="code-snippet__string">md5_uppercaseString;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v11</span> = <span class="code-snippet__string">(void *)objc_retainAutorelease(md5_uppercaseString);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">MD5UTF8String</span> = <span class="code-snippet__string">(char *)objc_msgSend(v11, &amp;UTF8String);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v68</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">for</span> <span class="code-snippet__string">( i = 0; i &lt;= 17; ++i )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">v68</span> <span class="code-snippet__string">+= MD5UTF8String[i];                    // 字符相加为did倒数第二位，最后一位为固定的00</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v42</span> = <span class="code-snippet__string">v68;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v65</span> = <span class="code-snippet__string">&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v64</span> = <span class="code-snippet__string">&amp;selRef_length;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v12</span> = <span class="code-snippet__string">objc_msgSend(&amp;OBJC_CLASS___NSString, (const char *)&amp;unk_1904A1C2A, CFSTR(&#34;%02x&#34;), v68);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v13</span> = <span class="code-snippet__string">(void *)objc_retainAutoreleasedReturnValue(v12);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v66</span> = <span class="code-snippet__string">v13;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v63</span> = <span class="code-snippet__string">v13;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v14</span> = <span class="code-snippet__string">(char *)objc_msgSend(v13, &amp;length);     // substringFromIndex:</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v15</span> = <span class="code-snippet__string">objc_msgSend(v63, &amp;aSubstringfromi, v14 - 2);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v16</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v15);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v17</span> = <span class="code-snippet__string">(__int64)v66;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v66</span> = <span class="code-snippet__string">(void *)v16;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">objc_release(v17);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v18</span> = <span class="code-snippet__string">v65[377];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v19</span> = <span class="code-snippet__string">*MD5UTF8String;//取MD5值前17位做为did组合</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v20</span> = <span class="code-snippet__string">MD5UTF8String[1];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v21</span> = <span class="code-snippet__string">MD5UTF8String[2];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v22</span> = <span class="code-snippet__string">MD5UTF8String[3];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v23</span> = <span class="code-snippet__string">MD5UTF8String[4];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v24</span> = <span class="code-snippet__string">MD5UTF8String[5];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v25</span> = <span class="code-snippet__string">MD5UTF8String[6];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v26</span> = <span class="code-snippet__string">MD5UTF8String[7];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v27</span> = <span class="code-snippet__string">MD5UTF8String[8];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v28</span> = <span class="code-snippet__string">MD5UTF8String[9];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v29</span> = <span class="code-snippet__string">MD5UTF8String[10];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v30</span> = <span class="code-snippet__string">MD5UTF8String[11];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v31</span> = <span class="code-snippet__string">MD5UTF8String[12];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v32</span> = <span class="code-snippet__string">MD5UTF8String[13];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v33</span> = <span class="code-snippet__string">MD5UTF8String[14];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v34</span> = <span class="code-snippet__string">MD5UTF8String[15];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v35</span> = <span class="code-snippet__string">MD5UTF8String[16];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v36</span> = <span class="code-snippet__string">MD5UTF8String[17];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v37</span> = <span class="code-snippet__string">v64[6];</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v60</span> = <span class="code-snippet__string">v66;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v59</span> = <span class="code-snippet__string">v36;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v58</span> = <span class="code-snippet__string">v35;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v57</span> = <span class="code-snippet__string">v34;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v56</span> = <span class="code-snippet__string">v33;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v55</span> = <span class="code-snippet__string">v32;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v54</span> = <span class="code-snippet__string">v31;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v53</span> = <span class="code-snippet__string">v30;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v52</span> = <span class="code-snippet__string">v29;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v51</span> = <span class="code-snippet__string">v28;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v50</span> = <span class="code-snippet__string">v27;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v49</span> = <span class="code-snippet__string">v26;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v48</span> = <span class="code-snippet__string">v25;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v47</span> = <span class="code-snippet__string">v24;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v46</span> = <span class="code-snippet__string">v23;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v45</span> = <span class="code-snippet__string">v22;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v44</span> = <span class="code-snippet__string">v21;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v43</span> = <span class="code-snippet__string">v20;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v42</span> = <span class="code-snippet__string">v19;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v38</span> = <span class="code-snippet__string">objc_msgSend(                           // 组合格式</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v18,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v37,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__meta">CFSTR(&#34;%c%c%c%c%c%c</span>:<span class="code-snippet__string">%c%c%c%c%c%c:%c%c%c%c%c%c:%@00&#34;),</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v19,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v20,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v21,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v22,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v23,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v24,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v25,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v26,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v27,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v28,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v29,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v30,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v31,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v32,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v33,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v34,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v35,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v36,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v66);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v39</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v38);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v40</span> = <span class="code-snippet__string">v71;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v71</span> = <span class="code-snippet__string">v39;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">objc_release(v40);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v62</span> = <span class="code-snippet__string">objc_retain(v71);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v61</span> = <span class="code-snippet__string">0LL;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;v66,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;uppercaseString,</span> <span class="code-snippet__string">v61);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;v71,</span> <span class="code-snippet__string">v61);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;v72,</span> <span class="code-snippet__string">v61);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;superrise,</span> <span class="code-snippet__string">v61);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;v74,</span> <span class="code-snippet__string">v61);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;IDFA,</span> <span class="code-snippet__string">v61);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">return</span> <span class="code-snippet__string">(id)objc_autoreleaseReturnValue(v62);</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">}</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">还有一个自己生成的ID为simulateIDFA，主要是获取设备硬件设备与系统信息来生成，生成方式：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">id</span> <span class="code-snippet__string">__cdecl +[EHxafchbxeRxxx vrGUKfbxUmxRjM](EHxafchbxeRxxx_meta *self, SEL a2)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v2; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v3; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v4; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v5; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v6; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">systemHardwareInfo; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v8; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">disk; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">void</span> <span class="code-snippet__string">*v10; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">void</span> <span class="code-snippet__string">*v11; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">unsigned</span> <span class="code-snippet__string">__int8 *v12; // x2</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">unsigned</span> <span class="code-snippet__string">__int8 *v13; // x2</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v14; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">id</span> <span class="code-snippet__string">result; // x0</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v16; // [xsp+0h] [xbp-C0h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v17; // [xsp+8h] [xbp-B8h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v18; // [xsp+10h] [xbp-B0h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v19; // [xsp+18h] [xbp-A8h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">struct</span> <span class="code-snippet__string">objc_object *v20; // [xsp+28h] [xbp-98h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v21; // [xsp+30h] [xbp-90h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">simulateIDFA; // [xsp+40h] [xbp-80h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">unsigned</span> <span class="code-snippet__string">__int8 *deviceinfo2; // [xsp+48h] [xbp-78h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">unsigned</span> <span class="code-snippet__string">__int8 *deviceinfo1; // [xsp+50h] [xbp-70h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">disk_1; // [xsp+58h] [xbp-68h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">systemFileTime; // [xsp+60h] [xbp-60h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">systemHardwareInfo_1; // [xsp+68h] [xbp-58h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">systemVersion; // [xsp+70h] [xbp-50h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">deviceName; // [xsp+78h] [xbp-48h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">language; // [xsp+80h] [xbp-40h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">countryCode; // [xsp+88h] [xbp-38h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v32; // [xsp+90h] [xbp-30h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">SEL</span> <span class="code-snippet__string">v33; // [xsp+98h] [xbp-28h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">EHxafchbxeRxxx_meta</span> <span class="code-snippet__string">*v34; // [xsp+A0h] [xbp-20h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">char</span> <span class="code-snippet__string">md52; // [xsp+A8h] [xbp-18h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">char</span> <span class="code-snippet__string">MD51; // [xsp+B0h] [xbp-10h]</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">__int64</span> <span class="code-snippet__string">v37; // [xsp+B8h] [xbp-8h]</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v34</span> = <span class="code-snippet__string">self;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v33</span> = <span class="code-snippet__string">a2;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v2</span> = <span class="code-snippet__string">sysctl_FxxFSExIxxWPJx();</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v32</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v2);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v3</span> = <span class="code-snippet__string">::countryCode();</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">countryCode</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v3);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v4</span> = <span class="code-snippet__string">::language();</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">language</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v4);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v5</span> = <span class="code-snippet__string">::deviceName();</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">deviceName</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v5);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v6</span> = <span class="code-snippet__string">::systemVersion();</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">systemVersion</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v6);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">systemHardwareInfo</span> = <span class="code-snippet__string">::systemHardwareInfo();</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">systemHardwareInfo_1</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(systemHardwareInfo);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v8</span> = <span class="code-snippet__string">::systemFileTime();</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">systemFileTime</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v8);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">disk</span> = <span class="code-snippet__string">::disk();</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">disk_1</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(disk);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v19</span> = <span class="code-snippet__string">deviceName;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v18</span> = <span class="code-snippet__string">language;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v17</span> = <span class="code-snippet__string">countryCode;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v16</span> = <span class="code-snippet__string">v32;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v10</span> = <span class="code-snippet__string">objc_msgSend(</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">&amp;OBJC_CLASS___NSString,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__meta">&#34;stringWithFormat</span>:<span class="code-snippet__string">&#34;,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">CFSTR(&#34;%@,%@,%@,%@&#34;),</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">v32,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">countryCode,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">language,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">deviceName);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">deviceinfo1</span> = <span class="code-snippet__string">(unsigned __int8 *)objc_retainAutoreleasedReturnValue(v10);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v19</span> = <span class="code-snippet__string">disk_1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v18</span> = <span class="code-snippet__string">systemFileTime;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v17</span> = <span class="code-snippet__string">systemHardwareInfo_1;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v16</span> = <span class="code-snippet__string">systemVersion;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v11</span> = <span class="code-snippet__string">objc_msgSend(</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">&amp;OBJC_CLASS___NSString,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__meta">&#34;stringWithFormat</span>:<span class="code-snippet__string">&#34;,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">CFSTR(&#34;%@,%@,%@,%@&#34;),</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">systemVersion,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">systemHardwareInfo_1,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">systemFileTime,</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__attr">disk_1);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">deviceinfo2</span> = <span class="code-snippet__string">(unsigned __int8 *)objc_retainAutoreleasedReturnValue(v11);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">MD5_16(deviceinfo1,</span> <span class="code-snippet__string">(size_t)&amp;MD51, v12); //计算MD5</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">MD5_16(deviceinfo2,</span> <span class="code-snippet__string">(size_t)&amp;md52, v13);//计算MD5</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v14</span> = <span class="code-snippet__string">combineTwoFingerPrint(&amp;md52, &amp;MD51);//计算出simulateIDFA</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">simulateIDFA</span> = <span class="code-snippet__string">objc_retainAutoreleasedReturnValue(v14);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v21</span> = <span class="code-snippet__string">objc_retain(simulateIDFA);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;simulateIDFA,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;deviceinfo2,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;deviceinfo1,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;disk_1,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;systemFileTime,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;systemHardwareInfo_1,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;systemVersion,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;deviceName,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;language,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;countryCode,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">objc_storeStrong(&amp;v32,</span> <span class="code-snippet__string">0LL);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">result</span> = <span class="code-snippet__string">(id)objc_autoreleaseReturnValue(v21);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">v20</span> = <span class="code-snippet__string">result;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">( __stack_chk_guard == v37 )</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">result</span> = <span class="code-snippet__string">v20;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">return</span> <span class="code-snippet__string">result;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">}</span></span></code></pre></section><p><span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">所有<span style="color: rgb(36, 41, 46);font-family: -apple-system, BlinkMacSystemFont, 微软雅黑, &#34;PingFang SC&#34;, Helvetica, Arial, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, SimSun, 宋体, Heiti, 黑体, sans-serif;font-size: 14px;text-align: start;">采集</span>信息与加密完成后字段组合成JSON格式：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;FU2&#34;</span>: <span class="code-snippet__string">&#34;r6s0l;Tim&#34;</span>,</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;fC8&#34;</span>: <span class="code-snippet__string">&#34;fb1536d4411ddbf632d49ddf14eeefb0&#34;</span>,</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;RQ5&#34;</span>: <span class="code-snippet__string">&#34;;97&#34;</span>,</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;PJ2&#34;</span>: <span class="code-snippet__string">&#34;2&#34;</span>,</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;mi1&#34;</span>: {<span class="code-snippet__comment">//SIM卡信息</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__string">&#34;mE1&#34;</span>: <span class="code-snippet__string">&#34;&#34;</span>,</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__string">&#34;xX9&#34;</span>: <span class="code-snippet__string">&#34;&#34;</span>,</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__string">&#34;Uc4&#34;</span>: <span class="code-snippet__string">&#34;+9cmRoTSYyKLhgs5&#34;</span>, </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__string">&#34;nO8&#34;</span>: <span class="code-snippet__string">&#34;&#34;</span></span></code><code><span class="code-snippet_outer">  },</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;tJ3&#34;</span>: <span class="code-snippet__number">1602896191800537</span>,</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;Hg2&#34;</span>: { <span class="code-snippet__comment">//代理</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__string">&#34;kCFProxyPortNumberKey&#34;</span>: <span class="code-snippet__number">8888</span>,</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__string">&#34;kCFProxyTypeKey&#34;</span>: <span class="code-snippet__string">&#34;kCFProxyTypeHTTP&#34;</span>,</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__string">&#34;kCFProxyHostNameKey&#34;</span>: <span class="code-snippet__string">&#34;172.29.257.1&#34;</span></span></code><code><span class="code-snippet_outer">  },</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;ZY9&#34;</span>: <span class="code-snippet__string">&#34;WIFI&#34;</span>,</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;lo7&#34;</span>: <span class="code-snippet__string">&#34;2016-10-2720:49:30+0000,2016-10-2720:49:30+0000&#34;</span>,</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;gy8&#34;</span>: <span class="code-snippet__string">&#34;7JJIIE8I1:&lt;GE6EI:41J6J8177:F;74E:19&#34;</span>,<span class="code-snippet__comment">//IDFA(加密)</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;XE3&#34;</span>: [<span class="code-snippet__string">&#34;5=26;2666;25&#34;</span>, <span class="code-snippet__string"