<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>拓森</title>
        <link>https://www.uzilol.cn/</link>
        <description>在代码中修仙</description>
        <lastBuildDate>Mon, 09 Feb 2026 03:28:54 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <copyright>All rights reserved 2026, 拓森Leo</copyright>
        <item>
            <title><![CDATA[3分钟接入ida mcp开始AI逆向(window)]]></title>
            <link>https://www.uzilol.cn/article/1f2bf20f-1d11-804d-9b4d-ee8f247f401d</link>
            <guid>https://www.uzilol.cn/article/1f2bf20f-1d11-804d-9b4d-ee8f247f401d</guid>
            <pubDate>Tue, 13 May 2025 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-1f2bf20f1d11804d9b4dee8f247f401d"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1f2bf20f1d11802f9d7ee5fb931bba82" data-id="1f2bf20f1d11802f9d7ee5fb931bba82"><span><div id="1f2bf20f1d11802f9d7ee5fb931bba82" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f2bf20f1d11802f9d7ee5fb931bba82" title="安装ida mcp"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">安装ida mcp</span></span></h2><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1f2bf20f1d11800fbc42f5be6a656d58" data-id="1f2bf20f1d11800fbc42f5be6a656d58"><span><div id="1f2bf20f1d11800fbc42f5be6a656d58" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f2bf20f1d11800fbc42f5be6a656d58" title="版本要求(必须)"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">版本要求(必须)</span></span></h3><div class="notion-text notion-block-1f2bf20f1d11808784f8ff9dd8d0b6db">这里我使用ida9.0 + 3.11.0b4</div><div class="notion-text notion-block-1f2bf20f1d1180479779d3e7349351de">注意: python老版本不行</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1f2bf20f1d118026a465d44064a32b07" data-id="1f2bf20f1d118026a465d44064a32b07"><span><div id="1f2bf20f1d118026a465d44064a32b07" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f2bf20f1d118026a465d44064a32b07" title="安装"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">安装</span></span></h3><div class="notion-text notion-block-2c6bf20f1d1180f183d5fa1c6f7a094d">(不行的话使用这个python: &amp; &quot;D:\work\tools\IDA Professional 9.2\python311\python.exe&quot; -m pip install)</div><div class="notion-text notion-block-1f2bf20f1d1180a984cfe698a6c0f80b">安装完重启ida和vscode</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1f2bf20f1d1180ab8a1af923b09a1640"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A295c933f-63a8-4ea3-b163-48c447435f5b%3Aimage.png?table=block&amp;id=1f2bf20f-1d11-80ab-8a1a-f923b09a1640&amp;t=1f2bf20f-1d11-80ab-8a1a-f923b09a1640" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1f2bf20f1d118029bcc5e8e5db95e710">ida的插件会出现MCP, 点击他</div><div class="notion-text notion-block-1f2bf20f1d1180e190f7cae6fb8c07b7">output输出:</div><div class="notion-text notion-block-1f2bf20f1d1180bbaacbc57e76ebf247">就表示ida mcp server启动成功</div><div class="notion-blank notion-block-1f2bf20f1d1180f6a2fde5a12fac4bbc"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1f2bf20f1d11809587d8e71048f0ef31" data-id="1f2bf20f1d11809587d8e71048f0ef31"><span><div id="1f2bf20f1d11809587d8e71048f0ef31" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f2bf20f1d11809587d8e71048f0ef31" title="安装vscode+cline"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">安装vscode+cline</span></span></h2><div class="notion-text notion-block-1f2bf20f1d1180ebac20db8b5496ec39">cline插件安装这个比较简单自行搞定:)</div><div class="notion-text notion-block-1f2bf20f1d1180de9eb0d6bb0b52c182">打开cline直接问他</div><div class="notion-blank notion-block-1f2bf20f1d11808391f4e2a2d41b1124"> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1f2bf20f1d11805fa6bff3758fc5bbc0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:483px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A6e33a188-bbf9-45c5-bfe8-260572f9675f%3Aimage.png?table=block&amp;id=1f2bf20f-1d11-805f-a6bf-f3758fc5bbc0&amp;t=1f2bf20f-1d11-805f-a6bf-f3758fc5bbc0" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1f2bf20f1d11802d999bdfa35b9a805a">进入cline, 点击这个小图标, 如果出现mcp servers, 就表示mcp 客户端已ok</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1f2bf20f1d118006952ef8810c11f894"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:605px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Aba37f845-6b2f-44e8-b55c-1ce93b445a94%3Aimage.png?table=block&amp;id=1f2bf20f-1d11-8006-952e-f8810c11f894&amp;t=1f2bf20f-1d11-8006-952e-f8810c11f894" alt="notion image" loading="lazy" decoding="async"/></div></figure><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1f2bf20f1d1180068194daebffcc355c" data-id="1f2bf20f1d1180068194daebffcc355c"><span><div id="1f2bf20f1d1180068194daebffcc355c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f2bf20f1d1180068194daebffcc355c" title="测试"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">测试</span></span></h2><div class="notion-text notion-block-1f2bf20f1d11804e9892cfb3dc4d7e42">ida打开一个函数</div><div class="notion-text notion-block-1f2bf20f1d1180ff8ba9c31a8f712db6">cline里面直接问</div><div class="notion-blank notion-block-1f2bf20f1d1180299ddcd64cdd1a9601"> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1f2bf20f1d118022b019fbfa6754728d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:68px"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A4f687a0f-ef77-43ff-99a4-d4e9a5378e32%3Aimage.png?table=block&amp;id=1f2bf20f-1d11-8022-b019-fbfa6754728d&amp;t=1f2bf20f-1d11-8022-b019-fbfa6754728d" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1f2bf20f1d11802cacefc34a83693a76"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:574px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Aa562d14e-e495-4ee0-8669-6aeffdc3cefd%3Aimage.png?table=block&amp;id=1f2bf20f-1d11-802c-acef-c34a83693a76&amp;t=1f2bf20f-1d11-802c-acef-c34a83693a76" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1f2bf20f1d1180dca3d5e382e718ae7b">因为行数大多了所以我选择给关键块添加注释, 点允许</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1f2bf20f1d1180a881e4f9cdb5cedeb1"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A03bb8cbc-7922-414f-971d-d1e7729ec556%3Aimage.png?table=block&amp;id=1f2bf20f-1d11-80a8-81e4-f9cdb5cedeb1&amp;t=1f2bf20f-1d11-80a8-81e4-f9cdb5cedeb1" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1f2bf20f1d118051a03fe7c98683ec2d">完成! 剩下的交给自己去探索吧</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1f2bf20f1d1180868ff4d7f53aa072bd" data-id="1f2bf20f1d1180868ff4d7f53aa072bd"><span><div id="1f2bf20f1d1180868ff4d7f53aa072bd" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f2bf20f1d1180868ff4d7f53aa072bd" title="📎 参考文章"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">📎 参考文章</span></span></h2><div class="notion-text notion-block-1f2bf20f1d1180b88618f36edb6773c4"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/mrexodia/ida-pro-mcp">https://github.com/mrexodia/ida-pro-mcp</a></div><div class="notion-text notion-block-1f2bf20f1d118037bbb3e34fd1a7c779"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://mp.weixin.qq.com/s/WpqLIkehYGtEJU1ZBj42QA?scene=1&amp;poc_token=HDXAImijfD4zsPdl5eHRQxwwfc5KiTtQh0bxYgpo">https://mp.weixin.qq.com/s/WpqLIkehYGtEJU1ZBj42QA?scene=1&amp;poc_token=HDXAImijfD4zsPdl5eHRQxwwfc5KiTtQh0bxYgpo</a></div><div class="notion-blank notion-block-1f2bf20f1d11801ea2b9fd74518c9f9a"> </div><div class="notion-blank notion-block-1f2bf20f1d11807e9331e0d6c9244cd5"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[写了个找base64编码算法特征的ida脚本]]></title>
            <link>https://www.uzilol.cn/article/28dbf20f-1d11-80ae-a9ce-ffaa7403eb96</link>
            <guid>https://www.uzilol.cn/article/28dbf20f-1d11-80ae-a9ce-ffaa7403eb96</guid>
            <pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-28dbf20f1d1180aea9ceffaa7403eb96"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-28dbf20f1d1180c886f6fac5c8164b47">遇到一个案例, FindCrypt插件找不出来, 因为他是对码表进行定位, 所以才写了一个基于特征的</div><div class="notion-text notion-block-28dbf20f1d1180229494cee02c658658">目前只测试过少量案例</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-28dbf20f1d1180c2a3f2eeb863e656c6" data-id="28dbf20f1d1180c2a3f2eeb863e656c6"><span><div id="28dbf20f1d1180c2a3f2eeb863e656c6" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28dbf20f1d1180c2a3f2eeb863e656c6" title="仓库地址"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">仓库地址</span></span></h2><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-28dbf20f1d11802c85adf18d275726db" data-id="28dbf20f1d11802c85adf18d275726db"><span><div id="28dbf20f1d11802c85adf18d275726db" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28dbf20f1d11802c85adf18d275726db" title="使用方法"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>使用方法</b></span></span></h2><div class="notion-text notion-block-28dbf20f1d1180bca468f9a0dec758ca">ida -&gt; file -&gt; script file 选择find_base64.py</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-28dbf20f1d1180b2831adfcbe9018512" data-id="28dbf20f1d1180b2831adfcbe9018512"><span><div id="28dbf20f1d1180b2831adfcbe9018512" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28dbf20f1d1180b2831adfcbe9018512" title="使用效果"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>使用效果</b></span></span></h2><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2a9bf20f1d1180c98651cec65b11725d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ac4f39edd-b348-47c5-ac4a-fd509f189735%3Aimage.png?table=block&amp;id=2a9bf20f-1d11-80c9-8651-cec65b11725d&amp;t=2a9bf20f-1d11-80c9-8651-cec65b11725d" alt="notion image" loading="lazy" decoding="async"/></div></figure></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[写了个jni trace]]></title>
            <link>https://www.uzilol.cn/article/28dbf20f-1d11-801a-b410-f387173a5e83</link>
            <guid>https://www.uzilol.cn/article/28dbf20f-1d11-801a-b410-f387173a5e83</guid>
            <pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-28dbf20f1d11801ab410f387173a5e83"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-28dbf20f1d1180c3b377cc6be08341b0">配合ai写了一个简洁的jni trace, 核心思想是减少嗓音, 使得让容易获得自己想要的日志:)</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-28dbf20f1d1180299bf8e731971eca66" data-id="28dbf20f1d1180299bf8e731971eca66"><span><div id="28dbf20f1d1180299bf8e731971eca66" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28dbf20f1d1180299bf8e731971eca66" title="仓库地址"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">仓库地址</span></span></h2><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-28dbf20f1d1180aa9dedd611e5b7e35c" data-id="28dbf20f1d1180aa9dedd611e5b7e35c"><span><div id="28dbf20f1d1180aa9dedd611e5b7e35c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28dbf20f1d1180aa9dedd611e5b7e35c" title="使用方法"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">使用方法</span></span></h2><div class="notion-text notion-block-28dbf20f1d118038b536e9ae8bef1a46">我这里是gadget</div><div class="notion-text notion-block-28dbf20f1d11808d83b1fecb0ddc7fe3">frida -FH 127.0.0.1:14728 -l simple_jnitrace.js -o jni.log</div><div class="notion-blank notion-block-28dbf20f1d11802e8bebe72f7c38907b"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-28dbf20f1d118006859fd2747eb34a06" data-id="28dbf20f1d118006859fd2747eb34a06"><span><div id="28dbf20f1d118006859fd2747eb34a06" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28dbf20f1d118006859fd2747eb34a06" title="效果"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">效果</span></span></h2><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-28dbf20f1d11802c9a73d9603b86abaf"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Afad66f3a-bd38-42e0-b5ad-6add457d0b63%3Aimage.png?table=block&amp;id=28dbf20f-1d11-802c-9a73-d9603b86abaf&amp;t=28dbf20f-1d11-802c-9a73-d9603b86abaf" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-28dbf20f1d1180558ba6d7b756936638"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[unidbg还原pangle(字节旗下)算法]]></title>
            <link>https://www.uzilol.cn/article/1d5bf20f-1d11-8001-a7ee-d0ec8adcde3b</link>
            <guid>https://www.uzilol.cn/article/1d5bf20f-1d11-8001-a7ee-d0ec8adcde3b</guid>
            <pubDate>Mon, 14 Apr 2025 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-1d5bf20f1d118001a7eed0ec8adcde3b"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e2bf20f1d1180b093d9eb8058ee5c5d" data-id="1e2bf20f1d1180b093d9eb8058ee5c5d"><span><div id="1e2bf20f1d1180b093d9eb8058ee5c5d" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e2bf20f1d1180b093d9eb8058ee5c5d" title="主要工具"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">主要工具</span></span></h2><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1e2bf20f1d118060ba01ea73eef33c43" data-id="1e2bf20f1d118060ba01ea73eef33c43"><span><div id="1e2bf20f1d118060ba01ea73eef33c43" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e2bf20f1d118060ba01ea73eef33c43" title="ida9.1"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">ida9.1</span></span></h3><div class="notion-text notion-block-1e2bf20f1d1180fb80fcf0b940c1e825">静态分析, 主要用于理清大致的调用链条和代码执行逻辑</div><div class="notion-blank notion-block-1e2bf20f1d11803dab05f5b2e7da301e"> </div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1e2bf20f1d118013a0cdeaff35215259" data-id="1e2bf20f1d118013a0cdeaff35215259"><span><div id="1e2bf20f1d118013a0cdeaff35215259" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e2bf20f1d118013a0cdeaff35215259" title="unidgb"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">unidgb</span></span></h3><div class="notion-text notion-block-1e2bf20f1d1180dd8e36f815ef5d9c6b">动态调试: debug不用多说</div><div class="notion-text notion-block-1e2bf20f1d118049a360c1998b23e232">trace read: 跟踪内存的读取, 主要用于看参数被那些地方读取</div><div class="notion-text notion-block-1e2bf20f1d118094bfc8d30bb4cb88bf">trace write: 跟踪内存写入, 主要用于监控返回值写入</div><div class="notion-text notion-block-1e2bf20f1d118093b748e40d61130f10">trace code: trace 执行的日志, 具体的小算法还原主要靠他</div><div class="notion-blank notion-block-1e2bf20f1d11801a8607f44e3b71c8c2"> </div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1e2bf20f1d11802a9209c52c4cf0bedf" data-id="1e2bf20f1d11802a9209c52c4cf0bedf"><span><div id="1e2bf20f1d11802a9209c52c4cf0bedf" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e2bf20f1d11802a9209c52c4cf0bedf" title="010"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">010</span></span></h3><div class="notion-text notion-block-1e2bf20f1d118082a7a9e7ebc810856d">方便分析trace后的汇编, 根据汇编还原具体的算法</div><div class="notion-blank notion-block-1e2bf20f1d1180bfba0fd9feb407b475"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d9bf20f1d1180e28d21c03429ca7a50" data-id="1d9bf20f1d1180e28d21c03429ca7a50"><span><div id="1d9bf20f1d1180e28d21c03429ca7a50" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d9bf20f1d1180e28d21c03429ca7a50" title="目标函数"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">目标函数</span></span></h2><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d9bf20f1d1180d3a94bf173d743e69c" data-id="1d9bf20f1d1180d3a94bf173d743e69c"><span><div id="1d9bf20f1d1180d3a94bf173d743e69c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d9bf20f1d1180d3a94bf173d743e69c" title="固定随机数"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">固定随机数</span></span></h2><div class="notion-text notion-block-1d9bf20f1d1180f9a944d028730e7b97"><code class="notion-inline-code">RandomFileIO</code></div><div class="notion-blank notion-block-1d9bf20f1d1180dfa130e05d1abc6210"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d9bf20f1d1180f1a574fa2b174d515e" data-id="1d9bf20f1d1180f1a574fa2b174d515e"><span><div id="1d9bf20f1d1180f1a574fa2b174d515e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d9bf20f1d1180f1a574fa2b174d515e" title="固定时间戳"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">固定时间戳</span></span></h2><div class="notion-text notion-block-1d9bf20f1d11808da69ee24ad68fd8fb"><code class="notion-inline-code">UnixSyscallHandler</code></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d6bf20f1d1180aa87dae5d6fa553f2a" data-id="1d6bf20f1d1180aa87dae5d6fa553f2a"><span><div id="1d6bf20f1d1180aa87dae5d6fa553f2a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d6bf20f1d1180aa87dae5d6fa553f2a" title="构造主动调用"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">构造主动调用</span></span></h2><div class="notion-blank notion-block-1d8bf20f1d1180d8b189cb200b85a9af"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d8bf20f1d11802d9fb9d4e981fcb4b9" data-id="1d8bf20f1d11802d9fb9d4e981fcb4b9"><span><div id="1d8bf20f1d11802d9fb9d4e981fcb4b9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d8bf20f1d11802d9fb9d4e981fcb4b9" title="输入输出"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">输入输出</span></span></h2><div class="notion-blank notion-block-1d9bf20f1d118077b73ac8d7c5ca020d"> </div><div class="notion-text notion-block-1d9bf20f1d1180f2ba58ebe13879c379">通过tracecode 0x03518 看下type = 0x3f2 也就是十进制的1010</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d9bf20f1d118045a0f7f66b908815d2"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:203px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A5b1401d0-76e8-44c6-a6d8-ff8be9f9afef%3Aimage.png?table=block&amp;id=1d9bf20f-1d11-8045-a0f7-f66b908815d2&amp;t=1d9bf20f-1d11-8045-a0f7-f66b908815d2" alt="notion image" loading="lazy" decoding="async"/></div></figure><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d6bf20f1d118099a569e44d97a3dfd4" data-id="1d6bf20f1d118099a569e44d97a3dfd4"><span><div id="1d6bf20f1d118099a569e44d97a3dfd4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d6bf20f1d118099a569e44d97a3dfd4" title="traceWrite跟踪内存写入(根据结果反推)"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">traceWrite跟踪内存写入(根据结果反推)</span></span></h2><div class="notion-blank notion-block-1d6bf20f1d1180308996f34ba9f063ae"> </div><div class="notion-text notion-block-1d8bf20f1d11808d99cfc86aea736bbe">ida 看下0xc960</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d8bf20f1d1180d1887ee8c2582619ec"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A1e5b64c5-444e-4491-a01e-f70b41193267%3Aimage.png?table=block&amp;id=1d8bf20f-1d11-80d1-887e-e8c2582619ec&amp;t=1d8bf20f-1d11-80d1-887e-e8c2582619ec" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-1d8bf20f1d1180a6b5bfed962bc40820"> </div><div class="notion-text notion-block-1d8bf20f1d1180dbb8e7e20199875438">按y 修改为JNIenv*</div><div class="notion-text notion-block-1d8bf20f1d1180ebb104f9afb2736a6e">按n重命名下</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d8bf20f1d1180ca8033d16d392ac61b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A00daf1ca-ceb0-4a43-8164-d8350ece3c2c%3Aimage.png?table=block&amp;id=1d8bf20f-1d11-80ca-8033-d16d392ac61b&amp;t=1d8bf20f-1d11-80ca-8033-d16d392ac61b" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1d8bf20f1d11800ca224d64e4e2bbbfb">看下3550函数, 无法f5, 按p</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d8bf20f1d1180f29a5ecec61e7d24ff"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A1c205c02-c26e-4284-88f8-1bcea7b2abbe%3Aimage.png?table=block&amp;id=1d8bf20f-1d11-80f2-9a5e-cec61e7d24ff&amp;t=1d8bf20f-1d11-80f2-9a5e-cec61e7d24ff" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-1d8bf20f1d1180469793ec7e87fbf75e"> </div><div class="notion-blank notion-block-1d8bf20f1d1180ffbe47c2403928790b"> </div><div class="notion-blank notion-block-1d8bf20f1d1180f6b38dfa2385de02af"> </div><div class="notion-text notion-block-1d6bf20f1d1180feb9edfce1a284d257">ida 看下0x3440</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d8bf20f1d1180c2a403d563bb776360"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ab68263e6-8f5f-46e5-b42e-b5cf84456ece%3Aimage.png?table=block&amp;id=1d8bf20f-1d11-80c2-a403-d563bb776360&amp;t=1d8bf20f-1d11-80c2-a403-d563bb776360" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-1d8bf20f1d11803b89e2fc4503d28a32"> </div><div class="notion-blank notion-block-1ecbf20f1d1180539769d7cb21d5cd05"> </div><div class="notion-text notion-block-1d8bf20f1d1180adbbe0e2248339afc7">这个案例我们改用正推更简单, 从参数入手</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d8bf20f1d1180ab8c75e81cb9fae7ca" data-id="1d8bf20f1d1180ab8c75e81cb9fae7ca"><span><div id="1d8bf20f1d1180ab8c75e81cb9fae7ca" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d8bf20f1d1180ab8c75e81cb9fae7ca" title="正推入口"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">正推入口</span></span></h2><div class="notion-text notion-block-1d8bf20f1d11801b8755e58a6fb76ce7">看下n1011的值, 这种直接通过trace code, w2 = 0x3f2 </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d8bf20f1d1180b2a235d23c658aa08f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A72a80b33-dfcf-4992-a2e0-8712fe93448f%3Aimage.png?table=block&amp;id=1d8bf20f-1d11-80b2-a235-d23c658aa08f&amp;t=1d8bf20f-1d11-80b2-a235-d23c658aa08f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1d8bf20f1d11800cbbacd087727999ee">0x3f2的10进制就是1010, </div><div class="notion-text notion-block-1d8bf20f1d1180d79e71e7ef9627de2e">也可以通过hook</div><div class="notion-blank notion-block-1d8bf20f1d1180f180f0d70b31ae073b"> </div><div class="notion-text notion-block-1d8bf20f1d1180d3b471df33eedf2165">那么走的sub_C8D0</div><div class="notion-text notion-block-1d8bf20f1d11801c9eddf1ca26cc34a3">byte_array和len被传入sub_3550</div><div class="notion-text notion-block-1d8bf20f1d11800c9ffcefd9fe6935ac">打印下入参看对不对</div><div class="notion-text notion-block-1d8bf20f1d1180fd9512e3fcb46aedcb">也可以断点后通过mx0查看</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d8bf20f1d118019926ef75f014a1c84"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A0246d4d0-89d8-4c22-9c66-140204f6f61f%3Aimage.png?table=block&amp;id=1d8bf20f-1d11-8019-926e-f75f014a1c84&amp;t=1d8bf20f-1d11-8019-926e-f75f014a1c84" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-1d8bf20f1d1180de9938c445ec5ab80e"> </div><div class="notion-text notion-block-1d8bf20f1d11808fbe6ed92da9a8d30e">trace read一下看下谁读取了, 因为ida查看有混淆无法知道进入哪个函数了</div><div class="notion-text notion-block-1d8bf20f1d11809bbda5e24521ac06d6">ida 查看下 0x333c, 在函数sub_330C中,这个函数就是内存copy,  交叉引用下sub_36C8</div><div class="notion-text notion-block-1d8bf20f1d1180e8ad1ee1170d9d2813">看下sub_36C8, 断点查看入参mx1</div><div class="notion-blank notion-block-1d8bf20f1d11802c979ee834c08b54ec"> </div><div class="notion-text notion-block-1d8bf20f1d11803b92a9f12e90ff2ab7">参数1:0x10 长度</div><div class="notion-text notion-block-1d8bf20f1d1180ebab6fe642728762ef">参数2:0x12359000 我们的参数</div><div class="notion-text notion-block-1d8bf20f1d11807dbaf3e6e7188a86be">参数3:0x12359000 返回值</div><div class="notion-blank notion-block-1d8bf20f1d11800e9938e6e81921e8ea"> </div><div class="notion-text notion-block-1d8bf20f1d118025a632eee54cfc8372">tracewrite 0x12359000  看看他是怎么被写入的</div><div class="notion-blank notion-block-1d8bf20f1d1180bf869bf8c08473683e"> </div><div class="notion-text notion-block-1d8bf20f1d118074bdaffd74e5bbc12f">0x385C 开始写入</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d8bf20f1d118073b122f17c148ea6a9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A9d1bcd5c-f37a-49e9-ac02-4d1a01410a12%3Aimage.png?table=block&amp;id=1d8bf20f-1d11-8073-b122-f17c148ea6a9&amp;t=1d8bf20f-1d11-8073-b122-f17c148ea6a9" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1d8bf20f1d1180dd9262fd9940f510f1">查看trace code</div><div class="notion-blank notion-block-1d8bf20f1d11804e9578d6327815efd1"> </div><div class="notion-blank notion-block-1d8bf20f1d1180779c66c1550d750111"> </div><div class="notion-text notion-block-1d8bf20f1d11804bb402f1a7fb6db99d">看下v42 的值是多少</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d8bf20f1d1180578846cef68fcf7bcc"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A00577966-7cdf-4a88-b1da-659b9df13991%3Aimage.png?table=block&amp;id=1d8bf20f-1d11-8057-8846-cef68fcf7bcc&amp;t=1d8bf20f-1d11-8057-8846-cef68fcf7bcc" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1d8bf20f1d1180c5a7c0ff8db827d2e5">v42 = 01010101a3e1eaf4  因为长度是unsigned int  4字节</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d8bf20f1d1180b8b50bc5e35a1a993f" data-id="1d8bf20f1d1180b8b50bc5e35a1a993f"><span><div id="1d8bf20f1d1180b8b50bc5e35a1a993f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d8bf20f1d1180b8b50bc5e35a1a993f" title="第一个算法(异或):"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">第一个算法(异或):</span></span></h2><div class="notion-blank notion-block-1d8bf20f1d118040b434ea1cff6a38bc"> </div><div class="notion-blank notion-block-1d8bf20f1d1180988138e5a573fe9e4b"> </div><div class="notion-blank notion-block-1d8bf20f1d1180b09e66cd9a38852739"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d8bf20f1d1180c0ab5cfc99aa663e3a" data-id="1d8bf20f1d1180c0ab5cfc99aa663e3a"><span><div id="1d8bf20f1d1180c0ab5cfc99aa663e3a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d8bf20f1d1180c0ab5cfc99aa663e3a" title="第二个算法sub_4010"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">第二个算法sub_4010</span></span></h2><div class="notion-text notion-block-1d8bf20f1d1180ceb62cefad150a5d94">参数:</div><div class="notion-text notion-block-1d8bf20f1d11803b909fff93c078b030">030105373d8e5640 8个字节</div><div class="notion-text notion-block-1d8bf20f1d1180aba247ddb77054179d">返回值:</div><div class="notion-text notion-block-1d8bf20f1d1180dbb5afecf1955188f2">debug断点查看入参:</div><div class="notion-text notion-block-1d8bf20f1d1180d1b6e0fcbb2b4cd368">参数1: s 就是随机数 01010101010101010101010101010101</div><div class="notion-text notion-block-1d8bf20f1d11807a905bc0f833350673">x1 = 是第一个算法的结果: 030105373d8e5640</div><div class="notion-text notion-block-1d8bf20f1d11804a96d0ef1b6a0c5e2a">x2 是返回值</div><div class="notion-text notion-block-1d8bf20f1d1180e9bae2ee9858aa4a14">x3 是一个v11 判断是否等于0走不同的逻辑</div><div class="notion-blank notion-block-1d8bf20f1d11802d86c8f636d747e078"> </div><div class="notion-text notion-block-1d8bf20f1d118039a33dcdcb9627f5a4">python还原</div><div class="notion-text notion-block-1d8bf20f1d1180c7a2fffc9bc4b2c9cf">rand hex = 01010101010101010101010101010101</div><div class="notion-text notion-block-1d8bf20f1d118050bffec573dfdd7256">param hex = 030105373d8e5640</div><div class="notion-text notion-block-1d8bf20f1d1180958241e406dcd3fdae">flag= 0x20 </div><div class="notion-text notion-block-1d8bf20f1d1180cbb5fec16e1a388e04">返回result</div><div class="notion-blank notion-block-1d8bf20f1d1180fab4eeec9e0403d49b"> </div><div class="notion-blank notion-block-1d9bf20f1d1180af909bdda96af5234f"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d9bf20f1d1180dc96dac79c666ef093" data-id="1d9bf20f1d1180dc96dac79c666ef093"><span><div id="1d9bf20f1d1180dc96dac79c666ef093" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d9bf20f1d1180dc96dac79c666ef093" title="函数标准开头"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">函数标准开头</span></span></h2><div class="notion-text notion-block-1d9bf20f1d11804c8b3bec90a4844075">stp x29, x30, [sp, #-0x10]! </div><ul class="notion-list notion-list-disc notion-block-1d9bf20f1d11801a8e9ae2235628088d"><li><b>保存帧指针（</b><code class="notion-inline-code"><b>x29</b></code><b>）和返回地址（</b><code class="notion-inline-code"><b>x30</b></code><b>）</b></li></ul><ul class="notion-list notion-list-disc notion-block-1d9bf20f1d11801a8c2bd8b1e5d83f50"><li><b>调整栈指针 </b><code class="notion-inline-code"><b>sp</b></code><b> 为当前函数分配栈帧</b></li></ul><ul class="notion-list notion-list-disc notion-block-1d9bf20f1d118035bd8afcc9c61b1f55"><li><b>设置新的帧指针</b></li></ul><div class="notion-blank notion-block-1d9bf20f1d118071ad45e6f329468f0b"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d9bf20f1d11802dbb44eff8ff9fe5e6" data-id="1d9bf20f1d11802dbb44eff8ff9fe5e6"><span><div id="1d9bf20f1d11802dbb44eff8ff9fe5e6" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d9bf20f1d11802dbb44eff8ff9fe5e6" title="监控result内存变化"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">监控result内存变化</span></span></h2><div class="notion-text notion-block-1d9bf20f1d11807f88dddeaa54011de7">我们现在知道每次result的地址都是:

<code class="notion-inline-code">0x12359000</code></div><div class="notion-text notion-block-1d9bf20f1d11801895a2c767c728962f">在循环中断点这样子就可以知道我们的输入每轮的变化</div><div class="notion-blank notion-block-1d9bf20f1d11803780ccca324ca2a853"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d9bf20f1d11808d8695f27fee4c4bb8" data-id="1d9bf20f1d11808d8695f27fee4c4bb8"><span><div id="1d9bf20f1d11808d8695f27fee4c4bb8" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d9bf20f1d11808d8695f27fee4c4bb8" title="监控sub4010 的参数和返回值"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">监控sub4010 的参数和返回值</span></span></h2><div class="notion-text notion-block-1d9bf20f1d1180f5834cc5ebafede0e1">第一轮</div><div class="notion-text notion-block-1d9bf20f1d118081a61cd6ec789b6880">第二轮</div><div class="notion-blank notion-block-1d9bf20f1d11804f930ad428aaa7f606"> </div><div class="notion-text notion-block-1d9bf20f1d11809a8556fcc19af3b540">查看tracecode更快</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d9bf20f1d1180c09972ce098503d382"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A0f526192-ae2a-4a02-aa95-a5f030659162%3Aimage.png?table=block&amp;id=1d9bf20f-1d11-80c0-9972-ce098503d382&amp;t=1d9bf20f-1d11-80c0-9972-ce098503d382" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1d9bf20f1d1180de889dccfbd5903ac4">第一轮是:01010101a3e1eaf4 ^ 020004369e6fbcb4 = 030105373d8e5640</div><div class="notion-text notion-block-1d9bf20f1d11800b915ac2a88265e198">第二轮是:1edc84501dc38389 ^ 0c00010101010101 = 12dc85511cc28288</div><div class="notion-text notion-block-1d9bf20f1d1180ed819ff5f8f7e3d60a">020004369e6fbcb4 是输入的前8个字节</div><div class="notion-text notion-block-1d9bf20f1d1180da9899dcfadd608c9f">0c00010101010101 是输入的后8个字节</div><div class="notion-text notion-block-1d9bf20f1d11802a826cf83775350b58">第一次4010的参数是030105373d8e5640(第一次异或的结果)</div><div class="notion-text notion-block-1d9bf20f1d1180779fe7f10d3de71d02">第一次4010的结果: 1edc84501dc38389 </div><div class="notion-blank notion-block-1ecbf20f1d1180c89bcde26a486f613e"> </div><div class="notion-text notion-block-1d9bf20f1d11806893b1fa17f748ed90">第二次4010的参数是12dc85511cc28288(第二次异或的结果)</div><div class="notion-text notion-block-1d9bf20f1d1180bb9e7ed1e96231f394">第一次4010的结果: 851f3b5607004e62</div><div class="notion-blank notion-block-1ecbf20f1d1180088b3fe5c824e081be"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e2bf20f1d11805ba00fe30459ebd173" data-id="1e2bf20f1d11805ba00fe30459ebd173"><span><div id="1e2bf20f1d11805ba00fe30459ebd173" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e2bf20f1d11805ba00fe30459ebd173" title="python代码还原算法"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">python代码还原算法</span></span></h2><div class="notion-text notion-block-1ecbf20f1d1180cfaeb9e6360b920082">输出结果与我们上面分析的能对上, 打完收工~</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1ecbf20f1d1180fd8ab1d4f46e81c4f6" data-id="1ecbf20f1d1180fd8ab1d4f46e81c4f6"><span><div id="1ecbf20f1d1180fd8ab1d4f46e81c4f6" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1ecbf20f1d1180fd8ab1d4f46e81c4f6" title="整体思路"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">整体思路</span></span></h2><div class="notion-text notion-block-1ecbf20f1d1180a5970ee730a1a6db66">1.根据ida来梳理代码的调用流程和大体算法</div><div class="notion-text notion-block-1ecbf20f1d118028ab3eda0b5da2baab">2.unidbg来动态调试和trace 出汇编代码, trace read跟踪参数, trace write跟踪结果, debug断点用来查看寄存器和参数等等, trace code用来查看汇编</div><div class="notion-text notion-block-1ecbf20f1d1180e7844cdb2a2640caa9">3.根据汇编代码来还原小算法(因为ida的伪代码直接扣会出错, 浪费时间)</div><div class="notion-blank notion-block-1ecbf20f1d1180c9aa10ced5a847961f"> </div><div class="notion-text notion-block-1e2bf20f1d11807f9c76d31982343b67">剩下的还有几个小算法没时间写了, 也是一样的思路还原算法… 主要是思路</div><div class="notion-text notion-block-1e2bf20f1d11803b9497e1767dc0334a">(未完待续)</div><div class="notion-blank notion-block-288bf20f1d1180aca4eef3f9d6acbace"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[android unity 游戏逆向]]></title>
            <link>https://www.uzilol.cn/article/1e4bf20f-1d11-804a-8a19-e4ac5c3cb9b9</link>
            <guid>https://www.uzilol.cn/article/1e4bf20f-1d11-804a-8a19-e4ac5c3cb9b9</guid>
            <pubDate>Fri, 09 May 2025 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-1e4bf20f1d11804a8a19e4ac5c3cb9b9"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e4bf20f1d1180b0ac6cee6304b22954" data-id="1e4bf20f1d1180b0ac6cee6304b22954"><span><div id="1e4bf20f1d1180b0ac6cee6304b22954" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e4bf20f1d1180b0ac6cee6304b22954" title="主要逆向流程(IL2CPP打包)"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">主要逆向流程(IL2CPP打包)</span></span></h2><ol start="1" class="notion-list notion-list-numbered notion-block-1efbf20f1d1180cebd20f31b7d924398" style="list-style-type:decimal"><li><span class="notion-default">下载打开</span><span class="notion-default"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/Perfare/Il2CppDumper">Il2CppDumper,</a></span><span class="notion-default"> 运行后依次选择global-metadata.dat , 然后选择libil2cpp.so , 成功的话它会dump出所需文件, 不成功则需要先dump出没加密的global-metadata.dat和libil2cpp.so</span></li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-1efbf20f1d118035a5f8eec127dfa70b" style="list-style-type:decimal"><li><span class="notion-default">打开ida file → script file依次导入dump出来的ida_py3.py → 再导入scripts.json, 再导入 ida_py3.py  → stringliteral.json 等待恢复符号表完成</span></li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-1efbf20f1d118066a348f15af960343a" style="list-style-type:decimal"><li><span class="notion-default">可以使用</span><span class="notion-default"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/dnSpy/dnSpy">Dnspy</a></span><span class="notion-default"> 导入 Assembly-Csharp.dll 文件分析类\结构\偏移地址等</span></li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-1efbf20f1d11807c9e78ef346607844d" style="list-style-type:decimal"><li><span class="notion-default">使用ida静态分析具体的游戏实现逻辑</span></li></ol><ol start="5" class="notion-list notion-list-numbered notion-block-1efbf20f1d1180b982f9ee1965c8a7ab" style="list-style-type:decimal"><li><span class="notion-default">然后使用Frida或者frida-il2cpp-bridge 动态分析验证</span></li></ol><div class="notion-blank notion-block-273bf20f1d1180469d98e376fdc38e54"> </div><div class="notion-text notion-block-273bf20f1d11803eaeeadf63fbf9ffe9">以下一些概念解释</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e4bf20f1d118015877ec0f56e577935" data-id="1e4bf20f1d118015877ec0f56e577935"><span><div id="1e4bf20f1d118015877ec0f56e577935" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e4bf20f1d118015877ec0f56e577935" title="Assembly-CSharp.dll"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Assembly-CSharp.dll</span></span></h2><div class="notion-text notion-block-1fcbf20f1d1180e7a2a5c81ed563cbc0">对于mono打包游戏的主要脚本逻辑就在assets\bin\Data\Managed\Assembly-CSharp.dll</div><div class="notion-text notion-block-1fcbf20f1d1180718a45cc9d54b36ab2">使用ILSPY或者dnspy即可直接反编译得到</div><div class="notion-text notion-block-1fcbf20f1d118004ae2edeb681e83841">但是现在大部分为了防止破解都使用IL2CPP来打包, 所以Assembly-CSharp.dll 只剩下结构信息, 真正的逻辑编译了c++, 放在libil2cpp.so 中</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e4bf20f1d1180909a65e4c351e234e5" data-id="1e4bf20f1d1180909a65e4c351e234e5"><span><div id="1e4bf20f1d1180909a65e4c351e234e5" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e4bf20f1d1180909a65e4c351e234e5" title="IL2CPP打包后关键的文件"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">IL2CPP打包后关键的文件</span></span></h2><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e4bf20f1d118088b9fbee8c12f61e92" data-id="1e4bf20f1d118088b9fbee8c12f61e92"><span><div id="1e4bf20f1d118088b9fbee8c12f61e92" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e4bf20f1d118088b9fbee8c12f61e92" title="global-metadata.dat"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">global-metadata.dat</span></span></h2><div class="notion-text notion-block-1e4bf20f1d118038aad1f7ac809fdb2d">处于:\assets\bin\Data\Managed\Metadata</div><div class="notion-text notion-block-1e4bf20f1d1180df9b5fc9101a827756">这个dat文件是 <b>Unity 游戏引擎</b>在使用 <b>IL2CPP</b> 脚本后端时生成的一个关键文件。</div><div class="notion-text notion-block-1e4bf20f1d118029b278f4bb742e6318">他包含了:</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e4bf20f1d11807d9db9f03430091a0a" data-id="1e4bf20f1d11807d9db9f03430091a0a"><span><div id="1e4bf20f1d11807d9db9f03430091a0a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e4bf20f1d11807d9db9f03430091a0a" title="Il2cppDumper"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>Il2cppDumper</b></span></span></h2><div class="notion-text notion-block-1e4bf20f1d1180f1b25be9b4bc126fd1">用来解析global-metadata.dat, 解析出类、方法、字段、属性等结构信息。</div><div class="notion-text notion-block-1e4bf20f1d11801bad28ff1b629156df">他生成几个文件:</div><ul class="notion-list notion-list-disc notion-block-1e4bf20f1d1180f4ba08d2e0129a0fe1"><li><b>Assembly-Csharp.dll </b> 这个dll只有结构, 方法, 变量, 没有具体逻辑</li></ul><ul class="notion-list notion-list-disc notion-block-1e4bf20f1d1180daabe8f65ef427dde7"><li><b>dump.cs (c# </b>风格的伪代码<b>) </b>里面是原始代码的结构</li></ul><ul class="notion-list notion-list-disc notion-block-1e4bf20f1d1180978845c25d7fafb6a6"><li><b>script.json</b> 文件：包含更结构化的数据，方便其他工具或脚本进行处理。</li></ul><ul class="notion-list notion-list-disc notion-block-1e4bf20f1d1180779c0cc0130c846fc6"><li><b>il2cpp.h</b> C++ 头文件：定义了一些 IL2CPP 的内部数据结构和函数指针类型，分析so很有用</li></ul><div class="notion-blank notion-block-1e4bf20f1d11806b9472ca751c846f69"> </div><div class="notion-text notion-block-1e4bf20f1d1180ff91b6df0654be3d09">通过解析global-metadata.dat的信息来获取函数指针，并且通过偏移去查找so中的游戏逻辑</div><div class="notion-blank notion-block-1e4bf20f1d11805eb59fffae5c34f575"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e4bf20f1d118006b26dd8bb3aab5d22" data-id="1e4bf20f1d118006b26dd8bb3aab5d22"><span><div id="1e4bf20f1d118006b26dd8bb3aab5d22" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e4bf20f1d118006b26dd8bb3aab5d22" title="global-metadata.dat 解密"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">global-metadata.dat 解密</span></span></h2><div class="notion-text notion-block-272bf20f1d118004b742fcf059b2892f">可以用010打开assets\bin\Data\Managed\global-metadata.dat 文件看看, 看下是不是AF 1B B1 FA开头, 不是的话一般都加密了</div><div class="notion-text notion-block-1e4bf20f1d11807fba05c8e5504640ce">很多厂商会对这个文件进行加密, 所以要通过内存dump出未解密的global-metadata.dat文件, 一般使用这个项目</div><div class="notion-text notion-block-1eebf20f1d118032bcbce7055dc7712f"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/Perfare/Zygisk-Il2CppDumper">https://github.com/Perfare/Zygisk-Il2CppDumper</a></div><div class="notion-text notion-block-1e4bf20f1d11808f892fd663c8f8188c"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/AndroidReverser-Test/frida-find-il2cpp-api">https://github.com/AndroidReverser-Test/frida-find-il2cpp-api</a>(支持自动化地寻找<b>il2cpp api</b>)</div><div class="notion-blank notion-block-1e4bf20f1d1180eba692d38ecffd04ee"> </div><div class="notion-text notion-block-1e4bf20f1d1180b8bdb3fe61281b603e">魔改了游戏引擎的话可以参考</div><div class="notion-text notion-block-1e4bf20f1d1180e38e9bc17db4aa85a1"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/AndroidReverser-Test/il2cpp_class_dumper">https://github.com/AndroidReverser-Test/il2cpp_class_dumper</a></div><div class="notion-blank notion-block-1e4bf20f1d11805baa92d82c3c1e97ed"> </div><div class="notion-text notion-block-1e4bf20f1d118064803cd3ac7fd31a18">还有这个, 不需要metadata文件 支持dump</div><div class="notion-text notion-block-1e4bf20f1d118056a251f06885039b6e">而且还支持trace, 方便定位关键位置</div><div class="notion-text notion-block-1e4bf20f1d118028825edfa13a571c05"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/vfsfitvnm/frida-il2cpp-bridge">https://github.com/vfsfitvnm/frida-il2cpp-bridge</a></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e4bf20f1d1180fe84e4d64450e7e923" data-id="1e4bf20f1d1180fe84e4d64450e7e923"><span><div id="1e4bf20f1d1180fe84e4d64450e7e923" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e4bf20f1d1180fe84e4d64450e7e923" title="Il2CppHookScripts"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Il2CppHookScripts</span></span></h2><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1ecbf20f1d1180b78df1f9131c48717d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A6ff68d30-f3bb-40a0-9fd1-068b89abd83b%3Aimage.png?table=block&amp;id=1ecbf20f-1d11-80b7-8df1-f9131c48717d&amp;t=1ecbf20f-1d11-80b7-8df1-f9131c48717d" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-1ecbf20f1d1180e995fbfb90f436839e"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1e4bf20f1d11804691e0d0decca3b968" data-id="1e4bf20f1d11804691e0d0decca3b968"><span><div id="1e4bf20f1d11804691e0d0decca3b968" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e4bf20f1d11804691e0d0decca3b968" title="其他思路"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">其他思路</span></span></h2><div class="notion-text notion-block-1e4bf20f1d11808cb1b8d30a6c37c0c6">反射分析和修改游戏, 因为C# 支持反射, 无论是使用mono编译还是il2cpp编译，他都会支持“反射”</div><div class="notion-text notion-block-1eebf20f1d1180189ccbee2dfa62a140"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://bbs.kanxue.com/thread-273616.htm#msg_header_h1_2">https://bbs.kanxue.com/thread-273616.htm#msg_header_h1_2</a></div><div class="notion-blank notion-block-1efbf20f1d11802189dbe9833478ae2d"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1eebf20f1d11809a8753ff846a201c45" data-id="1eebf20f1d11809a8753ff846a201c45"><span><div id="1eebf20f1d11809a8753ff846a201c45" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1eebf20f1d11809a8753ff846a201c45" title="frida-il2cpp-bridge"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">frida-il2cpp-bridge</span></span></h2><div class="notion-text notion-block-1efbf20f1d1180c3b266d104c15f5bef">很强大的逆向unity的工具</div><div class="notion-text notion-block-1efbf20f1d1180c3b5d6c5a288734ba5"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/vfsfitvnm/frida-il2cpp-bridge/wiki/Snippets">https://github.com/vfsfitvnm/frida-il2cpp-bridge/wiki/Snippets</a></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1eebf20f1d1180eeae7dcc4a510e12db" data-id="1eebf20f1d1180eeae7dcc4a510e12db"><span><div id="1eebf20f1d1180eeae7dcc4a510e12db" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1eebf20f1d1180eeae7dcc4a510e12db" title="实战frida-il2cpp-bridge"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">实战frida-il2cpp-bridge</span></span></h2><div class="notion-text notion-block-1efbf20f1d11803b85d8f8b476f26ea9">目标: </div><div class="notion-text notion-block-1efbf20f1d11804089e8fa9c1f1805b9">抓包发现请求和返回值都加密过, 并且base64无法直接解密, 目标是分析该加密算法</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1eebf20f1d1180c68227e2f0f4f3bf18" data-id="1eebf20f1d1180c68227e2f0f4f3bf18"><span><div id="1eebf20f1d1180c68227e2f0f4f3bf18" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1eebf20f1d1180c68227e2f0f4f3bf18" title="使用frida-il2cpp-bridge trace 网络请求"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">使用frida-il2cpp-bridge trace 网络请求</span></span></h3><div class="notion-text notion-block-1efbf20f1d1180439d86ef5c106c450f">安装frida-il2cpp-bridge</div><div class="notion-text notion-block-1efbf20f1d11809f9311dfc0743cfcd3">版本:</div><div class="notion-text notion-block-1efbf20f1d118049bfc1f0fef5725578">frida-il2cpp-bridge 使用0.9.0(最新版我跑不起来)</div><div class="notion-text notion-block-1efbf20f1d118013923ed15b993ea08b">项目结构:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1efbf20f1d1180b1b8c0e9381f65e058"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:271px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A8016cd32-075a-4889-80ee-1c1f92bad7ed%3Aimage.png?table=block&amp;id=1efbf20f-1d11-80b1-b8c0-e9381f65e058&amp;t=1efbf20f-1d11-80b1-b8c0-e9381f65e058" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1efbf20f1d118050ab7df4f16dc34400">只要建好下面2个文件即可, 其他的都是生成的</div><div class="notion-text notion-block-1efbf20f1d1180c296c5ce0c6ce66271">package.json</div><div class="notion-text notion-block-1efbf20f1d11804a9737d8db2215bb33">index.ts</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1f1bf20f1d11806392f5fd9e212a6ea2" data-id="1f1bf20f1d11806392f5fd9e212a6ea2"><span><div id="1f1bf20f1d11806392f5fd9e212a6ea2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f1bf20f1d11806392f5fd9e212a6ea2" title="trace class"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">trace class</span></span></h3><div class="notion-text notion-block-1f1bf20f1d1180bd9580fea069cc6b0e">可以hook 该类所有的函数</div><div class="notion-blank notion-block-1efbf20f1d11809f982bf339ae5dacb0"> </div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1f1bf20f1d11803e9914e73ea7f2881c" data-id="1f1bf20f1d11803e9914e73ea7f2881c"><span><div id="1f1bf20f1d11803e9914e73ea7f2881c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f1bf20f1d11803e9914e73ea7f2881c" title="trace method"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">trace method</span></span></h3><div class="notion-text notion-block-1f1bf20f1d118010988fcc8661ef0018">trace方法可以打印出入参</div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-1eebf20f1d1180fd9391fa8804b17ae6" data-id="1eebf20f1d1180fd9391fa8804b17ae6"><span><div id="1eebf20f1d1180fd9391fa8804b17ae6" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1eebf20f1d1180fd9391fa8804b17ae6" title="类名怎么来? "><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">类名怎么来? </span></span></h4><div class="notion-text notion-block-1efbf20f1d1180949d7cfde52d6a0a29">dnspy搜索得到</div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-1eebf20f1d1180bd857cd37498885b84" data-id="1eebf20f1d1180bd857cd37498885b84"><span><div id="1eebf20f1d1180bd857cd37498885b84" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1eebf20f1d1180bd857cd37498885b84" title="assembly 怎么来?"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">assembly 怎么来?</span></span></h4><div class="notion-text notion-block-1efbf20f1d1180af9b9fff98ef715d7c">通过遍历所有的assemblies 来得到</div><div class="notion-text notion-block-1eebf20f1d1180d3a5fcf3b40638f96f">打开一个终端</div><div class="notion-text notion-block-1efbf20f1d118067ba07f4900dab70cf">然后再打开个终端</div><div class="notion-text notion-block-1eebf20f1d1180ebad93ec5340cd21ec">trace UnityWebRequest结果:</div><div class="notion-blank notion-block-1eebf20f1d1180df8f48f639e1bf6c86"> </div><div class="notion-text notion-block-1eebf20f1d118088a12de49b9225f176">=XQlhnDv2nju2mjs1GjnzWmywjjlw2zyzjINYYYNNNgNY4EaM9QTYVQbMVIZNQFbZZ=Z</div><div class="notion-text notion-block-1efbf20f1d1180f9bdbfec914671c252">CyberChef 无法直接base64解码, 说明经过处理</div><div class="notion-text notion-block-1eebf20f1d1180e494cfd5805bf88eda">ida中直接搜base64 </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1efbf20f1d11803db3c0ddb2cd6c3515"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Aa28ff114-85e4-445a-9713-3f7b6efc79cd%3Aimage.png?table=block&amp;id=1efbf20f-1d11-803d-b3c0-ddb2cd6c3515&amp;t=1efbf20f-1d11-803d-b3c0-ddb2cd6c3515" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1efbf20f1d11807ab3c2f4595d67b883">找到Base64Kit__Decode</div><div class="notion-text notion-block-1efbf20f1d1180a5a977fd9bafc25b53">分析伪代码</div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-1efbf20f1d118062bf3dd181430bbc1f" data-id="1efbf20f1d118062bf3dd181430bbc1f"><span><div id="1efbf20f1d118062bf3dd181430bbc1f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1efbf20f1d118062bf3dd181430bbc1f" title="python还原算法"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">python还原算法</span></span></h4><div class="notion-text notion-block-1efbf20f1d11801dbd8fce56418710ec">验证</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1f1bf20f1d11803287adc4ca0f87fbf2" data-id="1f1bf20f1d11803287adc4ca0f87fbf2"><span><div id="1f1bf20f1d11803287adc4ca0f87fbf2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f1bf20f1d11803287adc4ca0f87fbf2" title="实战Il2CppHookScripts"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">实战Il2CppHookScripts</span></span></h2><div class="notion-text notion-block-1f1bf20f1d11808c8a1cc97aae6a83e0">wiki: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/axhlzy/Il2CppHookScripts/wiki/API#bp">https://github.com/axhlzy/Il2CppHookScripts/wiki/API#bp</a></div><div class="notion-text notion-block-1f1bf20f1d1180b09dd3c14fd6ddfc76">启动:</div><div class="notion-blank notion-block-1f1bf20f1d1180799002fa22279a3512"> </div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1f1bf20f1d11800ea05cd9dd9bea77db" data-id="1f1bf20f1d11800ea05cd9dd9bea77db"><span><div id="1f1bf20f1d11800ea05cd9dd9bea77db" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f1bf20f1d11800ea05cd9dd9bea77db" title="B (&#x27;ClassName&#x27;)"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">B (&#x27;ClassName&#x27;)</span></span></h3><div class="notion-text notion-block-1f1bf20f1d11805bb535e16d99dadfae">hook 类所有的方法 </div><div class="notion-blank notion-block-1fcbf20f1d11800dbe46f3dfcecde4f6"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1f1bf20f1d1180fcbaf2ca143bcf66ed" data-id="1f1bf20f1d1180fcbaf2ca143bcf66ed"><span><div id="1f1bf20f1d1180fcbaf2ca143bcf66ed" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1f1bf20f1d1180fcbaf2ca143bcf66ed" title="提供几个常用的js(frida-il2cpp-bridge)"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">提供几个常用的js(frida-il2cpp-bridge)</span></span></h2><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1fcbf20f1d118041bd52f6268c333a10" data-id="1fcbf20f1d118041bd52f6268c333a10"><span><div id="1fcbf20f1d118041bd52f6268c333a10" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1fcbf20f1d118041bd52f6268c333a10" title="hook 多method"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">hook 多method</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1fcbf20f1d1180c89de8fd706b6a9509" data-id="1fcbf20f1d1180c89de8fd706b6a9509"><span><div id="1fcbf20f1d1180c89de8fd706b6a9509" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1fcbf20f1d1180c89de8fd706b6a9509" title="hook 修改返回值"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">hook 修改返回值</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-1fcbf20f1d1180efab6af38361483c3e" data-id="1fcbf20f1d1180efab6af38361483c3e"><span><div id="1fcbf20f1d1180efab6af38361483c3e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1fcbf20f1d1180efab6af38361483c3e" title="hook 修改webviwe 设置debug模式/注入js/打印加载url"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">hook 修改webviwe 设置debug模式/注入js/打印加载url</span></span></h3><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1eebf20f1d118067b362f0602ac12a07" data-id="1eebf20f1d118067b362f0602ac12a07"><span><div id="1eebf20f1d118067b362f0602ac12a07" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1eebf20f1d118067b362f0602ac12a07" title="参考:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">参考:</span></span></h2><div class="notion-text notion-block-1eebf20f1d1180ef9d17cbbde6c3a7db"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://bbs.kanxue.com/thread-282821.htm">https://bbs.kanxue.com/thread-282821.htm</a></div><div class="notion-text notion-block-1e4bf20f1d11801cbac3e99cf6f87f35"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://bbs.kanxue.com/thread-282653.htm">https://bbs.kanxue.com/thread-282653.htm</a></div><div class="notion-text notion-block-1e4bf20f1d11805f85b9f6017722a9f7"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://bbs.kanxue.com/thread-286222.htm">https://bbs.kanxue.com/thread-286222.htm</a></div><div class="notion-text notion-block-1eebf20f1d11801b8831f938a221f885"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://bbs.kanxue.com/thread-283275.htm">https://bbs.kanxue.com/thread-283275.htm</a></div><div class="notion-text notion-block-1eebf20f1d11805b9adef112a45d2beb"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.52pojie.cn/thread-1891741-1-1.html">https://www.52pojie.cn/thread-1891741-1-1.html</a></div><div class="notion-blank notion-block-1e4bf20f1d118025b895c5992a3cde84"> </div><div class="notion-blank notion-block-1e4bf20f1d11806bba9ec09b2cbb931d"> </div><div class="notion-blank notion-block-1e4bf20f1d11809bad0fd70687828433"> </div><div class="notion-blank notion-block-1e4bf20f1d1180fca724c9ec085c8627"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[aidl 封装sdk(aar)]]></title>
            <link>https://www.uzilol.cn/article/119bf20f-1d11-8091-80e9-e032f4b0cd5d</link>
            <guid>https://www.uzilol.cn/article/119bf20f-1d11-8091-80e9-e032f4b0cd5d</guid>
            <pubDate>Tue, 22 Oct 2024 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-119bf20f1d11809180e9e032f4b0cd5d"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-127bf20f1d11806a931ef66100eac8c0">把aidl调用封装成sdk, aar文件</div><div class="notion-text notion-block-127bf20f1d1180768df2cb39384e03ba">客户端只需要引入aar, 直接调用api即可, 无需关注bindservice等内容</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-119bf20f1d118074a9ecd963067bfbb0" data-id="119bf20f1d118074a9ecd963067bfbb0"><span><div id="119bf20f1d118074a9ecd963067bfbb0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#119bf20f1d118074a9ecd963067bfbb0" title="aidi服务端"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">aidi服务端</span></span></h2><div class="notion-text notion-block-270bf20f1d11801ca9a1f2fe6869bef1">这里代码中最好不要有中文注释, 怕出错: )</div><div class="notion-text notion-block-127bf20f1d11802c814cf15335f41041">aidl:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d1180568592d80f8a75d9df"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:680px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2Fa32f9cea-57e5-46d8-ab08-8e492a552876%2Fimage.png?table=block&amp;id=127bf20f-1d11-8056-8592-d80f8a75d9df&amp;t=127bf20f-1d11-8056-8592-d80f8a75d9df&amp;width=680&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-119bf20f1d1180d8b6abdf4555299f94">service:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d11806594dce08f058bc120"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:402px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2F3484fd86-7a0f-4d35-9b30-273f4d654435%2Fimage.png?table=block&amp;id=127bf20f-1d11-8065-94dc-e08f058bc120&amp;t=127bf20f-1d11-8065-94dc-e08f058bc120&amp;width=402&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-127bf20f1d11800c84a0cdee822fa9ed">ApiImpl:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d1180d0a929ee4b354698e8"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2F1ac88e9c-d58b-4bb6-9e10-0080750c9c4c%2Fimage.png?table=block&amp;id=127bf20f-1d11-80d0-a929-ee4b354698e8&amp;t=127bf20f-1d11-80d0-a929-ee4b354698e8&amp;width=1110.96875&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-127bf20f1d1180f8b971d34bde46d39a">Androidmainifest.xml</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d1180a08307fa5d16ba581c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:633px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2F77b2ba9b-5399-41f6-a14b-0b19a810e87e%2Fimage.png?table=block&amp;id=127bf20f-1d11-80a0-8307-fa5d16ba581c&amp;t=127bf20f-1d11-80a0-8307-fa5d16ba581c&amp;width=633&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-127bf20f1d11804ebba6d724321e9c29">服务端就完成了.</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-127bf20f1d1180f98056e0edd5330070" data-id="127bf20f1d1180f98056e0edd5330070"><span><div id="127bf20f1d1180f98056e0edd5330070" class="notion-header-anchor"></div><a class="notion-hash-link" href="#127bf20f1d1180f98056e0edd5330070" title="SDK"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">SDK</span></span></h2><div class="notion-text notion-block-127bf20f1d1180dab8a0c2f6ae5a319b">在项目中新建model→选择android library</div><div class="notion-text notion-block-127bf20f1d11804ba312e06478b05c34">复制aidl到main下面,build一下project</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d118033b4afe22d0fc7e3a9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:349px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2F696e265c-86d0-427b-9765-53524538154d%2Fimage.png?table=block&amp;id=127bf20f-1d11-8033-b4af-e22d0fc7e3a9&amp;t=127bf20f-1d11-8033-b4af-e22d0fc7e3a9&amp;width=349&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-127bf20f1d1180d09f72e24963809271"> </div><div class="notion-text notion-block-127bf20f1d1180b7bec7c4c220f56559">apiservice:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d1180908ab9eb553a803145"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:239px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2F164eb37f-ce8c-4e75-b181-89a5000a7140%2Fimage.png?table=block&amp;id=127bf20f-1d11-8090-8ab9-eb553a803145&amp;t=127bf20f-1d11-8090-8ab9-eb553a803145&amp;width=239&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-127bf20f1d11805c8323c10aa2b6bf57"> </div><div class="notion-text notion-block-127bf20f1d11800e8720c222f493ead0">声明可见性:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d1180259ebcef26fc26cdf3"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2Fda9bf3b5-cbe3-4bf3-96e6-00158efb16f6%2Fimage.png?table=block&amp;id=127bf20f-1d11-8025-9ebc-ef26fc26cdf3&amp;t=127bf20f-1d11-8025-9ebc-ef26fc26cdf3&amp;width=1110.953125&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-270bf20f1d11803a993cccdf5289a5d4"> </div><div class="notion-text notion-block-270bf20f1d11806a8b4bd82563b2b4a5">gradle配置要加上这2个配置:</div><div class="notion-blank notion-block-270bf20f1d1180029a13f16f1edeaac4"> </div><div class="notion-text notion-block-127bf20f1d118058910ecf2c858c588f">打包aar:</div><div class="notion-text notion-block-127bf20f1d118017ac90cd13d6126ebf">执行./gradlew assemble
build→outputs→aar</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-127bf20f1d1180d2b06bc2123a031cd4" data-id="127bf20f1d1180d2b06bc2123a031cd4"><span><div id="127bf20f1d1180d2b06bc2123a031cd4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#127bf20f1d1180d2b06bc2123a031cd4" title="客户端:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">客户端:</span></span></h2><div class="notion-text notion-block-127bf20f1d11801f844fc78745df6d89">build.gradle:
<code class="notion-inline-code">implementation fileTree(include: [&#x27;*.jar&#x27;, &#x27;*.aar&#x27;], dir: &#x27;libs&#x27;)</code></div><div class="notion-text notion-block-127bf20f1d11809d92a1fcaa26046597">复制aar文件到libs目录</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d11807ebfafed866c6b328b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:274px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2F9020c48e-7f46-4e38-b4fd-72a0e9ae777c%2Fimage.png?table=block&amp;id=127bf20f-1d11-807e-bfaf-ed866c6b328b&amp;t=127bf20f-1d11-807e-bfaf-ed866c6b328b&amp;width=274&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-127bf20f1d1180d6ba9ddfb34669124a">初始化application:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d11808bbdcfee59c5b24eaa"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2Ff28895c7-053a-4477-90bd-95165a19e417%2Fimage.png?table=block&amp;id=127bf20f-1d11-808b-bdcf-ee59c5b24eaa&amp;t=127bf20f-1d11-808b-bdcf-ee59c5b24eaa&amp;width=1110.96875&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-127bf20f1d11805ba744ea0f8cb37481">调用api:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-127bf20f1d11801091f0ff9b2e037ccb"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:555px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fd58c76f9-a838-4d7e-acd0-51f873780b61%2F2c619d1e-8c87-42ab-95d3-a50d0115064d%2Fimage.png?table=block&amp;id=127bf20f-1d11-8010-91f0-ff9b2e037ccb&amp;t=127bf20f-1d11-8010-91f0-ff9b2e037ccb&amp;width=555&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-127bf20f1d1180078272fe654e9683ef"> </div></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>