<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>skyhaibara</title>
        <link>https://blog.skyhaibara.top/</link>
        <description>Recent content on skyhaibara</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>skyhaibara</copyright><atom:link href="https://blog.skyhaibara.top/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>用雨云开一台 Minecraft 模组服</title>
        <link>https://blog.skyhaibara.top/p/rainyun-minecraft/</link>
        <pubDate>Fri, 26 Jun 2026 10:00:00 +0800</pubDate>
        
        <guid>https://blog.skyhaibara.top/p/rainyun-minecraft/</guid>
        <description>&lt;img src="https://blog.skyhaibara.top/Cover/Minecraft.webp" alt="Featured image of post 用雨云开一台 Minecraft 模组服" /&gt;&lt;blockquote&gt;
&lt;p&gt;本文用的是我自己的雨云推广链接 👉 &lt;a class=&#34;link&#34; href=&#34;https://www.rainyun.com/MTE0Njc3OQ==_&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;雨云 RainYun&lt;/a&gt;，走这个链接注册下单，新人首月 5 折，也算是支持一下小破站 🙏&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;最近和朋友在玩&lt;strong&gt;脆骨症 No Flesh Within Chest 2&lt;/strong&gt; 这个模组整合包，本地开服越玩越难受 —— 一关电脑服就没了、朋友老是连不进、自己一边开服一边玩还卡。索性把服务端丢到云服务器上跑，7×24 在线、谁都能连。这篇就把&lt;strong&gt;从买服务器到朋友进服&lt;/strong&gt;的完整流程记一遍，新手照着抄就行。&lt;/p&gt;
&lt;h2 id=&#34;为什么别在自己电脑上开服&#34;&gt;为什么别在自己电脑上开服
&lt;/h2&gt;&lt;p&gt;本地开服(单人世界&amp;quot;对局域网开放&amp;quot; 或自己跑服务端)有三个绕不过去的坑：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;关机即停&lt;/strong&gt;：你电脑一关 / 一断网，朋友全掉线&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;外网连不进&lt;/strong&gt;：家用宽带基本是大内网 IP，朋友要连还得搞内网穿透 / 端口映射，巨折腾&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;又开服又游玩&lt;/strong&gt;：模组服吃内存，整合包动辄要 6~8G，自己机子一边带服一边带客户端，两头卡&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;丢到云服务器上，这三个问题一次性解决。&lt;/p&gt;
&lt;h2 id=&#34;为什么选雨云&#34;&gt;为什么选雨云
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.rainyun.com/MTE0Njc3OQ==_&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;雨云 RainYun&lt;/a&gt; 是国产云服务商，主营云服务器、&lt;strong&gt;游戏云&lt;/strong&gt;、对象存储、CDN 这些。选它开 MC 服的理由：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;有专门的「游戏云」&lt;/strong&gt;：自带 Minecraft 一键部署面板，新手不用碰命令行也能开起来&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;性价比高&lt;/strong&gt;：学生党友好，新人首月 5 折，按月付压力小&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;国内节点延迟低&lt;/strong&gt;：朋友都在国内，连起来不绕路&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;💡 不想用一键面板、想自己折腾的，也可以买普通&lt;strong&gt;云服务器&lt;/strong&gt;手动开(下面路线 B)，更自由。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;一买服务器配置怎么选&#34;&gt;一、买服务器：配置怎么选
&lt;/h2&gt;&lt;p&gt;Minecraft 模组服&lt;strong&gt;最吃内存&lt;/strong&gt;，CPU 反而是单线程为主(主频比核数更重要)。按整合包体量参考下表：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;场景&lt;/th&gt;
          &lt;th&gt;玩家数&lt;/th&gt;
          &lt;th&gt;推荐内存&lt;/th&gt;
          &lt;th&gt;说明&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;纯净服 / 轻模组&lt;/td&gt;
          &lt;td&gt;2~5 人&lt;/td&gt;
          &lt;td&gt;4 GB&lt;/td&gt;
          &lt;td&gt;原版或十几个模组&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;中型整合包&lt;/td&gt;
          &lt;td&gt;3~8 人&lt;/td&gt;
          &lt;td&gt;6~8 GB&lt;/td&gt;
          &lt;td&gt;几十上百个模组&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;重型整合包(如脆骨症 NFWC2)&lt;/td&gt;
          &lt;td&gt;3~6 人&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;8 GB 起&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;模组多、生成卡，内存给够才不崩&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ 内存千万别抠。模组服内存不足会直接 &lt;code&gt;OutOfMemoryError&lt;/code&gt; 崩服，这是新手翻车第一名。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;选好配置后，到 &lt;a class=&#34;link&#34; href=&#34;https://www.rainyun.com/MTE0Njc3OQ==_&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;雨云&lt;/a&gt; 下单：&lt;/p&gt;
&lt;p&gt;游戏云直接选 Minecraft，云服务器则选一个干净的 Linux(Ubuntu / Debian 都行)&lt;/p&gt;
&lt;p&gt;本人推荐Ubuntu 然后下面是我用相关积分兑换的：P8版本(白嫖bushi)&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/rainyun-mc/order.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;雨云游戏云 / 云服务器下单页 — 框出内存配置&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;二两条开服路线&#34;&gt;二、两条开服路线
&lt;/h2&gt;&lt;h3 id=&#34;路线-a雨云游戏云一键面板新手推荐&#34;&gt;路线 A：雨云「游戏云」一键面板(新手推荐)
&lt;/h3&gt;&lt;p&gt;雨云游戏云自带网页管理面板，省掉装环境的麻烦：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;控制台进入你的游戏云实例 → 打开管理面板&lt;/li&gt;
&lt;li&gt;选择服务端类型 / 上传整合包服务端(见第三节)&lt;/li&gt;
&lt;li&gt;在面板里设好&lt;strong&gt;内存&lt;/strong&gt;、&lt;strong&gt;端口&lt;/strong&gt;、&lt;strong&gt;Java 版本&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;点「启动」，看日志出现 &lt;code&gt;Done!&lt;/code&gt; 就成了&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/rainyun-mc/panel.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;雨云游戏云管理面板 — 启动按钮&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;举个栗子！：比如说我玩过脆骨症1 然后特别想脆骨症2 但是2的风评你懂的 下载链接&lt;a class=&#34;link&#34; href=&#34;https://bbsmc.net/modpack/no-flesh-within-chest-2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;脆骨症服务器端&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;控制台进入你的游戏云实例 → 打开管理面板&lt;/li&gt;
&lt;li&gt;在管理面板 -&amp;gt; 服务端配置文件 -&amp;gt; server.properties 设置服务器最多几人游戏难度等&lt;/li&gt;
&lt;li&gt;eula.txt -&amp;gt; 更改成是&lt;/li&gt;
&lt;li&gt;在文件管理 -&amp;gt; 仅保留启动脚本(可修改).sh -&amp;gt; 解压传入的&lt;strong&gt;脆骨症服务器端&lt;/strong&gt; 将run.sh内容复制到 -&amp;gt; 启动脚本(可修改).sh中&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/rainyun-mc/server.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;雨云游戏云管理面板 —— 服务器设置&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;路线-b云服务器手动开更自由&#34;&gt;路线 B：云服务器手动开(更自由)
&lt;/h3&gt;&lt;p&gt;适合想自己掌控的人，大致流程：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 1. 装对应版本的 Java(版本要和整合包匹配,见下方提示)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install -y openjdk-21-jre-headless
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 2. 建目录、上传服务端文件到这里&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/mcserver &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/mcserver
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 3. 首次启动(会生成 eula.txt 然后退出)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;java -Xms6G -Xmx8G -jar server.jar nogui
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Java 版本对照&lt;/strong&gt;(选错必报错)：MC 1.16 用 Java 8、1.18~1.20.4 用 Java 17、1.20.5+ 用 Java 21。脆骨症 NFWC2 按它对应的 MC 版本来选。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;三上传整合包服务端&#34;&gt;三、上传整合包服务端
&lt;/h2&gt;&lt;p&gt;关键：整合包要用&lt;strong&gt;服务端(Server Pack)&lt;/strong&gt;，不是你客户端那个整合包！&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在 &lt;strong&gt;CurseForge / Modrinth&lt;/strong&gt; 整合包页面找 &lt;strong&gt;Server Pack / 服务端文件&lt;/strong&gt; 下载&lt;/li&gt;
&lt;li&gt;解压后上传到服务器(面板直接传，或云服务器用 SFTP / &lt;code&gt;scp&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;里面一般带好了 &lt;code&gt;forge&lt;/code&gt;/&lt;code&gt;fabric&lt;/code&gt; 启动器和 &lt;code&gt;run.sh&lt;/code&gt; / &lt;code&gt;start.bat&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ 模组服必须&lt;strong&gt;客户端和服务端装一模一样的模组和加载器版本&lt;/strong&gt;，差一个都进不去。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;四关键配置&#34;&gt;四、关键配置
&lt;/h2&gt;&lt;p&gt;启动一次后会生成配置文件，改这几个：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;eula.txt&lt;/code&gt;&lt;/strong&gt; → 把 &lt;code&gt;eula=false&lt;/code&gt; 改成 &lt;code&gt;eula=true&lt;/code&gt;(同意用户协议，不改不让启动)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;server.properties&lt;/code&gt;&lt;/strong&gt; 常改项：&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;配置项&lt;/th&gt;
          &lt;th&gt;建议值&lt;/th&gt;
          &lt;th&gt;作用&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;server-port&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;25565&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;服务器端口(MC 默认)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;online-mode&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;true&lt;/code&gt; / &lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;正版验证。有人用离线号就设 &lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;view-distance&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;8&lt;/code&gt;~&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;视距，&lt;strong&gt;越大越吃性能&lt;/strong&gt;，模组服别开太高&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;max-players&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;按需&lt;/td&gt;
          &lt;td&gt;最大人数&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;difficulty&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;normal&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;难度&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;内存参数&lt;/strong&gt;：在启动命令 / 面板里设 &lt;code&gt;-Xms6G -Xmx8G&lt;/code&gt;(最小/最大内存，按你买的配置给)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;五启动--看日志&#34;&gt;五、启动 &amp;amp; 看日志
&lt;/h2&gt;&lt;p&gt;启动后盯一眼日志：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;首次启动会&lt;strong&gt;生成世界 + 加载所有模组&lt;/strong&gt;，重型整合包可能要等几分钟，别急着关&lt;/li&gt;
&lt;li&gt;看到 &lt;code&gt;Done (xx.xxxs)! For help, type &amp;quot;help&amp;quot;&lt;/code&gt; 就是成功了&lt;/li&gt;
&lt;li&gt;中途红字 &lt;code&gt;ERROR&lt;/code&gt; / &lt;code&gt;crash&lt;/code&gt; 就去 &lt;code&gt;crash-reports/&lt;/code&gt; 文件夹看崩溃报告&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;六朋友怎么连&#34;&gt;六、朋友怎么连
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;客户端装上&lt;strong&gt;和服务端完全一致&lt;/strong&gt;的整合包 建议使用&lt;strong&gt;HMCL&lt;/strong&gt;或&lt;strong&gt;PCL2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;多人游戏 → 添加服务器 → 地址填 &lt;code&gt;你的公网IP:25565&lt;/code&gt;(默认端口可省略 &lt;code&gt;:25565&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;进服开玩 🎉&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/rainyun-mc/connect.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;MC 客户端添加服务器 — 填公网 IP 进服&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;七常见问题排查&#34;&gt;七、常见问题排查
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;现象&lt;/th&gt;
          &lt;th&gt;原因&lt;/th&gt;
          &lt;th&gt;解决&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;启动就 &lt;code&gt;OutOfMemoryError&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;内存给少了&lt;/td&gt;
          &lt;td&gt;调大 &lt;code&gt;-Xmx&lt;/code&gt;，或升配置&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;Unsupported class version&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Java 版本不对&lt;/td&gt;
          &lt;td&gt;换成整合包要求的 Java 版本&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;朋友连不上 / 超时&lt;/td&gt;
          &lt;td&gt;端口没放行&lt;/td&gt;
          &lt;td&gt;安全组放行 25565&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;进服秒退 / 缺模组&lt;/td&gt;
          &lt;td&gt;客户端模组对不上&lt;/td&gt;
          &lt;td&gt;客户端装和服务端一致的整合包&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;跑一会儿就崩&lt;/td&gt;
          &lt;td&gt;某模组冲突&lt;/td&gt;
          &lt;td&gt;看 &lt;code&gt;crash-reports/&lt;/code&gt; 定位是哪个模组&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;八进阶玩法&#34;&gt;八、进阶玩法
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;网页面板管理&lt;/strong&gt;：云服务器可以装 &lt;a class=&#34;link&#34; href=&#34;https://mcsmanager.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MCSManager&lt;/a&gt;，网页开关服、看日志、传文件，体验接近游戏云面板&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;后台常驻&lt;/strong&gt;：用 &lt;code&gt;screen&lt;/code&gt; / &lt;code&gt;tmux&lt;/code&gt; 跑服，关掉 SSH 服也不停&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;开机自启 + 自动备份&lt;/strong&gt;：写个 &lt;code&gt;systemd&lt;/code&gt; 服务，再加个定时 &lt;code&gt;tar&lt;/code&gt; 备份存档，防止翻车丢档&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;结语&#34;&gt;结语
&lt;/h2&gt;&lt;p&gt;整套流程跑下来，难点其实就两个：&lt;strong&gt;整合包要用服务端版本&lt;/strong&gt;。剩下的照着抄基本不会错。&lt;/p&gt;
&lt;p&gt;想自己开一台的，可以走我的链接 👉 &lt;a class=&#34;link&#34; href=&#34;https://www.rainyun.com/MTE0Njc3OQ==_&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;雨云 RainYun · 新人首月 5 折&lt;/a&gt;，开服建站都能用。有问题评论区见～&lt;/p&gt;
</description>
        </item>
        <item>
        <title>CTF Misc</title>
        <link>https://blog.skyhaibara.top/p/ctf-misc/</link>
        <pubDate>Thu, 06 Mar 2025 18:00:00 +0800</pubDate>
        
        <guid>https://blog.skyhaibara.top/p/ctf-misc/</guid>
        <description>&lt;img src="https://blog.skyhaibara.top/Cover/pbdzd.webp" alt="Featured image of post CTF Misc" /&gt;&lt;h1 id=&#34;misc&#34;&gt;Misc
&lt;/h1&gt;&lt;h2 id=&#34;kalilinux-系统&#34;&gt;Kali(Linux 系统)
&lt;/h2&gt;&lt;h3 id=&#34;extundelete&#34;&gt;extundelete
&lt;/h3&gt;&lt;p&gt;从 ext 文件系统的磁盘/分区镜像中&lt;strong&gt;恢复被删除的文件&lt;/strong&gt;。CTF 里经常给一个 &lt;code&gt;.img&lt;/code&gt; 镜像,要求挂载后用 extundelete 把删除项恢复出来再看图。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 在 linux 上挂载光盘的命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir /mnt/disk
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mount attachment.img /mnt/disk/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /mnt/disk 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 可以使用 eog 图片名 命令来查看图片&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 使用结束后用 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;umount /mnt/disk 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 命令取消挂载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;extundelete --restore-all attachment.img
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 数据恢复成功后会生成一个 RECOVERED_FILES 文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;压缩包套娃&#34;&gt;压缩包套娃
&lt;/h3&gt;&lt;p&gt;题目把 flag 包在 N 层压缩包里(&lt;code&gt;.tar.xz&lt;/code&gt; 套 &lt;code&gt;.tar.xz&lt;/code&gt; 套 &amp;hellip;),手动解到吐血。这个一行命令循环解压,解完即删,直到没有 &lt;code&gt;.tar.xz&lt;/code&gt; 为止:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;find . -type f -name &amp;#39;*.tar.xz&amp;#39; | wc -l&amp;#34;&lt;/span&gt; -gt &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; find -type f -name &lt;span class=&#34;s2&#34;&gt;&amp;#34;*.tar.xz&amp;#34;&lt;/span&gt; -exec tar xf &lt;span class=&#34;s1&#34;&gt;&amp;#39;{}&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\;&lt;/span&gt; -exec rm -- &lt;span class=&#34;s1&#34;&gt;&amp;#39;{}&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strings flag        &lt;span class=&#34;c1&#34;&gt;# 查找 flag 字符&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;lsb老色比&#34;&gt;LSB(老色比)
&lt;/h3&gt;&lt;p&gt;LSB Stego 的谐音梗 —— &lt;strong&gt;L&lt;/strong&gt;east &lt;strong&gt;S&lt;/strong&gt;ignificant &lt;strong&gt;B&lt;/strong&gt;it,最低有效位隐写。用 &lt;code&gt;zsteg&lt;/code&gt; 工具按指定通道顺序提取 PNG 中藏的数据:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zsteg -e &lt;span class=&#34;s2&#34;&gt;&amp;#34;b8,rgb,lsb,xy&amp;#34;&lt;/span&gt; 1.png &amp;gt; diskimage.dat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;traffic流量&#34;&gt;Traffic(流量)
&lt;/h2&gt;&lt;h3 id=&#34;smtp&#34;&gt;SMTP
&lt;/h3&gt;&lt;p&gt;邮件传输协议,流量分析里&lt;strong&gt;能从 PCAP 还原邮件正文、附件、登录凭据&lt;/strong&gt;。Wireshark 跟踪 SMTP 流可以直接看到 &lt;code&gt;MAIL FROM&lt;/code&gt;、&lt;code&gt;RCPT TO&lt;/code&gt;、&lt;code&gt;DATA&lt;/code&gt; 阶段的明文,base64 附件也能提取出来。&lt;/p&gt;
&lt;h3 id=&#34;tls&#34;&gt;TLS
&lt;/h3&gt;&lt;p&gt;加密流量,&lt;strong&gt;需要私钥或 (Pre)-Master-Secret 才能解密&lt;/strong&gt;。题目通常把 RSA 私钥放在附件里,Wireshark → Edit → Preferences → Protocols → TLS → RSA keys list 配置后,加密包就会自动还原成明文。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-----BEGIN RSA PRIVATE KEY-----
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;XXXXXXX 标志类型
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-----END RSA PRIVATE KEY-----
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;wireshark 编辑即可&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;smb--hashcat&#34;&gt;SMB + hashcat
&lt;/h3&gt;&lt;p&gt;SMB 文件共享协议,流量里&lt;strong&gt;可能包含 NTLMv2 哈希形式的登录凭据&lt;/strong&gt;,提取后用 hashcat 暴破即可拿到明文密码。省赛常考。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;省赛的题目复现,讲一下自己的理解&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;olevba&#34;&gt;olevba
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/decalage2/oletools&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;olevba&lt;/code&gt;&lt;/a&gt; 是 oletools 套件里的核心工具,用于&lt;strong&gt;从 Office 文档(.doc / .xls / .docm 等)中提取并分析 VBA 宏代码&lt;/strong&gt;,扫描自动执行、字符串解码、Shell 调用等可疑行为。CTF 钓鱼附件题里几乎必备。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;olevba &amp;lt;file&amp;gt;            &lt;span class=&#34;c1&#34;&gt;# 提取并分析 VBA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;olevba &amp;lt;file&amp;gt; --decode   &lt;span class=&#34;c1&#34;&gt;# 自动解码混淆字符串&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/22.webp&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;olevba 运行示例&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;code编码&#34;&gt;Code(编码)
&lt;/h2&gt;&lt;p&gt;CTF Misc 里常见的&amp;quot;图像替代&amp;quot;密码 —— 把字母映射为图形 / 符号 / 物体。识别这类密码的关键是&lt;strong&gt;先认出风格&lt;/strong&gt;(中世纪、奇幻、游戏 IP、外星等),再查对应字母表还原。&lt;/p&gt;
&lt;div class=&#34;cipher-grid&#34;&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/2.webp&#34; alt=&#34;猪圈密码&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;猪圈密码 (Pigpen)&lt;/strong&gt;&lt;br&gt;中世纪共济会图形替代,九宫格 + X 形组合,经典款,变种极多。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/5.webp&#34; alt=&#34;圣堂武士密码&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;圣堂武士密码&lt;/strong&gt;&lt;br&gt;猪圈变种,源自圣殿骑士团十字会符号体系。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/1.webp&#34; alt=&#34;小猫密码&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;小猫密码&lt;/strong&gt;&lt;br&gt;萌系替换密码,每个字母对应一个猫脸符号,趣味题常用。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/4.webp&#34; alt=&#34;五笔密码&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;五笔密码&lt;/strong&gt;&lt;br&gt;把五笔输入法的字根按键映射为字母,考输入法熟练度。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/6.webp&#34; alt=&#34;提瓦特大陆&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;提瓦特大陆&lt;/strong&gt;&lt;br&gt;出自《原神》游戏内的七国通用语字母表,二次元 CTF 包装。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/7.webp&#34; alt=&#34;古埃及象形文字&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;古埃及象形文字&lt;/strong&gt;&lt;br&gt;真实历史文字,部分 CTF 借用《罗塞塔石碑》的字母对照表。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/8.webp&#34; alt=&#34;外星人密码&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;外星人密码&lt;/strong&gt;&lt;br&gt;几何符号字母表,无统一标准,常见于科幻包装题。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/9.webp&#34; alt=&#34;克林贡语&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;克林贡语 (Klingon)&lt;/strong&gt;&lt;br&gt;出自《星际迷航》,虚构语言但有完整官方字母表,可直接查表。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/10.webp&#34; alt=&#34;元素周期表&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;元素周期表&lt;/strong&gt;&lt;br&gt;用化学元素符号(Au、Fe...)拼出字母串,按周期表原子序索引。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/11.webp&#34; alt=&#34;狄德拉字符&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;狄德拉字符&lt;/strong&gt;&lt;br&gt;出自《暗精灵》(Dark Elves) 设定的虚构精灵语字母表。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/12.webp&#34; alt=&#34;银河字母&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;银河字母&lt;/strong&gt;&lt;br&gt;游戏《指挥官基恩》(Commander Keen) 设计的 8-bit 风格字母表。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/13.webp&#34; alt=&#34;跳舞的小人&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;跳舞的小人&lt;/strong&gt;&lt;br&gt;出自福尔摩斯短篇《跳舞的小人》(柯南·道尔),不同舞姿代表字母。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/14.webp&#34; alt=&#34;旗语密码&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;旗语密码&lt;/strong&gt;&lt;br&gt;国际海事旗语,两只手臂角度组合表示字母。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/16.webp&#34; alt=&#34;国际船用信号旗&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;国际船用信号旗&lt;/strong&gt;&lt;br&gt;ICS 标准旗帜,每面对应一个字母或数字。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/18.webp&#34; alt=&#34;多斯拉克语&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;多斯拉克语&lt;/strong&gt;&lt;br&gt;《权力的游戏》中游牧民族多斯拉克人的虚构文字。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/19.webp&#34; alt=&#34;海利亚文字&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;海利亚文字&lt;/strong&gt;&lt;br&gt;《塞尔达传说》中海拉鲁王国通用语,任天堂粉丝梗。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/17.webp&#34; alt=&#34;夏多密码&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;夏多密码(曲折密码)&lt;/strong&gt;&lt;br&gt;字母表带 4 个旋转指示符,需配合纸张朝向变换解密,详见下方说明。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/20.webp&#34; alt=&#34;Covenant字体&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;Covenant 字体&lt;/strong&gt;&lt;br&gt;《光环》(Halo) 中星盟使用的外星文字。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;cipher-card&#34;&gt;
&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/21.webp&#34; alt=&#34;DTMF 键盘&#34;&gt;
&lt;figcaption&gt;&lt;strong&gt;DTMF 键盘&lt;/strong&gt;&lt;br&gt;电话双音多频,每个数字对应一对频率,可通过音频频谱反推数字。&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;h3 id=&#34;夏多密码又称曲折密码&#34;&gt;夏多密码(又称曲折密码)
&lt;/h3&gt;&lt;p&gt;在以上字母表密钥的底部,列有四个附加符号 &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;3&lt;/code&gt; &lt;code&gt;4&lt;/code&gt;,它们可以放在密文中的任何地方。每个附加符号指示&lt;strong&gt;如何转动写有密文的纸张&lt;/strong&gt;,再进行后续的加密或解密操作,直到出现另一个附加符号。&lt;/p&gt;
&lt;p&gt;每个附加符号中的那根线可以看作是指示针,它指示纸张上端朝向:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;符号&lt;/th&gt;
          &lt;th&gt;朝向&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;纸张上端朝上&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;纸张上端朝右&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;纸张上端朝下(转动 180°)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;纸张上端朝左&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;top-cipher&#34;&gt;top cipher
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://blog.skyhaibara.top/CTF/Misc/15.webp&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;4 字母组(&lt;code&gt;ACEG&lt;/code&gt; / &lt;code&gt;ADEG&lt;/code&gt; &amp;hellip;)替换密码,有 24 字母全表对照。常见解密思路:把每 4 个密文字符切片,在字母表里查对应明文字母。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;exp:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;cipherList&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;M&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ACEG&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;R&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ADEG&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;K&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BCEG&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;S&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BDEG&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ACEH&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ADEH&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;L&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BCEH&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;U&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BDEH&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;D&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ACEI&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ADEI&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;N&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BCEI&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;V&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BDEI&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;H&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ACFG&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;F&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ADFG&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;O&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BCFG&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;W&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BDFG&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;T&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ACFH&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;G&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ADFH&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;P&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BCFH&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;X&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BDFH&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;E&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ACFI&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;I&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ADFI&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Q&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BCFI&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Y&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;BDFI&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;flag1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# s = &amp;#39;BCEHACEIBDEIBDEHBDEHADEIACEGACFIBDFHACEGBCEHBCFIBDEGBDEGADFGBDEHBDEGBDFHBCEGACFIBCFGADEIADEIADFH&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# for i in range(0,len(s),4):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#     block = s[i:i+4]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#     for j in cipherList:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#         if block==cipherList[j]:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#             flag1 += j&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# print(flag1)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;s2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;LDVUUCMEXMLQSSFUSXKEOCCG&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;cipherList2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;M&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;R&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;K&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;S&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;L&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;U&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;D&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;N&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;V&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;H&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;F&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;O&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;W&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;T&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;G&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;P&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;X&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;E&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;I&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Q&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Y&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# cipherList2.reverse()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;cipherList3&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Y&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Q&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;I&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;E&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;X&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;P&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;G&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;T&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;W&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;O&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;F&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;H&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;V&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;N&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;C&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;D&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;U&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;L&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;B&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;S&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;K&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;R&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;M&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;flag2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;s2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cipherList2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;rank&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cipherList2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;flag2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cipherList3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rank&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;flag2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;matlab---python&#34;&gt;Matlab -&amp;gt; Python
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-Matlab&#34; data-lang=&#34;Matlab&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;fid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fopen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#39;33.wav&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#39;rb&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fread&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;inf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#39;uchar&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;	
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;44&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;fclose&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;io&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;imread&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#39;kkk.bmp&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;	
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;row&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;io&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;	# 返回图像尺寸
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;io&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(:);&lt;/span&gt;	# 二维转一维
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#39;文件太小&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;	# 要隐写的目的文件要够大
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;watermarkedaudio&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;watermarklength&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;k&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;col&lt;/span&gt;	# 从&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;到&lt;span class=&#34;n&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;col&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;watermarkedaudio&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;44&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;k&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bitset&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;watermarkedaudio&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;44&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;k&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;wi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;k&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;figure&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;subplot&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plot&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;subplot&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plot&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;watermarkedaudio&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;fid&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fopen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#39;2.wav&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#39;wb&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;fwrite&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;watermarkedaudio&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#39;uchar&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;fclose&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;fread : 从二进制文件读取数据&lt;/li&gt;
&lt;li&gt;inf : 读出fid指向的打开的文件的全部数据&lt;/li&gt;
&lt;li&gt;imread : 读取图像&lt;/li&gt;
&lt;li&gt;bitset(A,pos,V) ：将A以二进制来表示，并将第pos个位置（从右数）， 设置为 V 的值，在将所得到的值转换成10进制数并返回。&lt;/li&gt;
&lt;li&gt;figure ：使用默认属性值创建一个新的图窗窗口&lt;/li&gt;
&lt;li&gt;subplot ：将当前图窗划分为 m×n 网格，并在 p 指定的位置创建坐标区&lt;/li&gt;
&lt;li&gt;plot ( Y ) 绘制 Y 对一组隐式 x 坐标的图。
如果 Y 是向量，则 x 坐标范围从 1 到 length( Y )。
如果 Y 是矩阵，则对于 Y 中的每个列，图中包含一个对应的行。x 坐标的范围是从 1 到 Y 的行数。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-Python&#34; data-lang=&#34;Python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;numpy&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;np&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;PIL&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wav&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;aaa.wav&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;rb&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;content&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wav&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;read&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wav&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;close&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;bins&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;45&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;45&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;388&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;bins&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;255&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;bin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])[&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:])&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;flag&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;np&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bins&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;np&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;uint8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reshape&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;388&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imgg&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Image&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fromarray&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;flag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;res.bmp&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;excel&#34;&gt;Excel
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;将表格全选，选择菜单栏中的， 表单格式 =&amp;gt; 突出显示单元格规则 =&amp;gt; 文本包含&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;pwntools&#34;&gt;pwntools
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;pwntools&lt;/code&gt; 是 Pwn 题里最常用的 Python 库,封装了进程交互、汇编、ELF 解析、ROP 等功能。下面是 IO 部分最常用的 API 速查:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;send&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;                        &lt;span class=&#34;n&#34;&gt;发送数据&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;sendline&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;                   &lt;span class=&#34;n&#34;&gt;发送一行数据&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;相当于在末尾加&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numb&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4096&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;timeout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;default&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;给出接收字节数&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;timeout&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;指定超时&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recvuntil&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;delims&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;drop&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;False&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;    &lt;span class=&#34;n&#34;&gt;接收到&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;delims&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;的&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pattern&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 以下可以看作 until 的特例&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recvline&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;keepends&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;          &lt;span class=&#34;n&#34;&gt;接收到&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;keepends&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;指定是否保留&lt;/span&gt; \&lt;span class=&#34;n&#34;&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recvall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;                        &lt;span class=&#34;n&#34;&gt;接收到&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;recvrepeat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;timeout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;default&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;      &lt;span class=&#34;n&#34;&gt;接收到&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EOF&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;或&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;timeout&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;interactive&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;                    &lt;span class=&#34;n&#34;&gt;与&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;shell&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;交互&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h1 id=&#34;相关工具使用&#34;&gt;相关工具使用
&lt;/h1&gt;&lt;h2 id=&#34;basecrack40v&#34;&gt;basecrack4.0v
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;basecrack&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;py&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;m&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;自动化处理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;mimikatz---dmp文件&#34;&gt;Mimikatz &amp;ndash;dmp文件
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sekurlsa::minidump lsass.dmp --加载
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sekurlsa::logonpasswords full --导出密码散列值
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        <item>
        <title>CTF Crypto</title>
        <link>https://blog.skyhaibara.top/p/ctf-crypto/</link>
        <pubDate>Thu, 13 Mar 2025 18:00:00 +0800</pubDate>
        
        <guid>https://blog.skyhaibara.top/p/ctf-crypto/</guid>
        <description>&lt;img src="https://blog.skyhaibara.top/Cover/Zs.webp" alt="Featured image of post CTF Crypto" /&gt;&lt;p&gt;zyt大佬捏：&lt;a class=&#34;link&#34; href=&#34;http://horostal.github.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;horostal.github.io&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;pisano-周期&#34;&gt;Pisano 周期
&lt;/h2&gt;&lt;p&gt;2&lt;sub&gt;n+2&lt;/sub&gt; = b * u&lt;sub&gt;n+1&lt;/sub&gt; + c * u&lt;sub&gt;n&lt;/sub&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#sage&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;g&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;17665922529512695488143524113273224470194093921285273353477875204196603230641896039854934719468650093602325707751568&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;mod&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100000007&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;R&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;BinaryRecurrenceSequence&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#计算序列的周期&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;cycle&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;R&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;period&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mod&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;R&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;g&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cycle&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mod&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#output :41322239&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;virgenene维吉尼亚&#34;&gt;Virgenene(维吉尼亚)
&lt;/h3&gt;&lt;p&gt;取一个长度为$x$的$key$，则在每一个长度为$x$的明文区间内，每一个字母本身都在进行凯撒式移位加密。例如选取$key$为&lt;code&gt;vector&lt;/code&gt;，则对应数字为&lt;code&gt;(21, 4, 2, 19, 14, 17)&lt;/code&gt;，之后对明文进行加密：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;明文&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;h&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;s&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;h&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;o&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;w&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;t&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;w&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;o&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;k&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;密钥&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;  &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;   &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;   &lt;span class=&#34;mi&#34;&gt;19&lt;/span&gt;  &lt;span class=&#34;mi&#34;&gt;14&lt;/span&gt;  &lt;span class=&#34;mi&#34;&gt;17&lt;/span&gt;  &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;  &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;   &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;   &lt;span class=&#34;mi&#34;&gt;19&lt;/span&gt;  &lt;span class=&#34;mi&#34;&gt;14&lt;/span&gt;  &lt;span class=&#34;mi&#34;&gt;17&lt;/span&gt;  &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;  &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;   &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;   &lt;span class=&#34;mi&#34;&gt;19&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;密文&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;t&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;w&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;s&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;y&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;h&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;n&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;v&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;m&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;l&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;那如果有密文，可以通过猜测明文前几位算出$key$，找到循环点并截取出正确的$key$，在进行解密即可。推荐一个爆破维吉尼亚的网站：https://www.guballa.de/vigenere-solver，下面是自己手撸的加解密和猜测密钥。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;encode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;z&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;chr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lower&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;26&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;elif&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Z&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;chr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;upper&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;26&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;join&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# print(&amp;#39;&amp;#39;.join([chr((ord(st[i]) - ord(&amp;#39;a&amp;#39;) + ord(s[i % len(s)]) - ord(&amp;#39;a&amp;#39;)) % 26 + ord(&amp;#39;a&amp;#39;)) for i in range(len(st))]))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;decode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;z&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;chr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lower&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()))&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;26&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;elif&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Z&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;chr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;upper&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()))&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;26&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;join&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# print(&amp;#39;&amp;#39;.join([chr((ord(t[i]) - ord(&amp;#39;a&amp;#39;) - ord(s[i % len(s)]) + ord(&amp;#39;a&amp;#39;)) % 26 + ord(&amp;#39;a&amp;#39;)) for i in range(len(t))]))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;check&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;t&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;min&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;z&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;chr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lower&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()))&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;26&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;elif&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Z&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;chr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ciphertext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plaintext&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;upper&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()))&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;26&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;ord&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;continue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;join&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# &amp;#39;&amp;#39;.join([chr((ord(ciphertext[i]) - ord(plaintext[i])) % 26 + ord(&amp;#39;a&amp;#39;)) for i in range(t)])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        <item>
        <title>Haibara</title>
        <link>https://blog.skyhaibara.top/p/haibara/</link>
        <pubDate>Fri, 14 Mar 2025 23:02:28 +0800</pubDate>
        
        <guid>https://blog.skyhaibara.top/p/haibara/</guid>
        <description>&lt;img src="https://blog.skyhaibara.top/Cover/ai.webp" alt="Featured image of post Haibara" /&gt;&lt;h1 id=&#34;灰原哀&#34;&gt;灰原哀
&lt;/h1&gt;&lt;p&gt;灰原哀,帝丹小学一年B班学生、少年侦探团成员
原黑暗组织科学家
本名宫野志保，曾隶属黑暗组织,代号为雪莉(Sherry)
&amp;ldquo;人是不可以逆转时间的如果特意去扭转它的话，人类就会受到惩罚。&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;haibara&#34;&gt;haibara
&lt;/h2&gt;</description>
        </item>
        <item>
        <title>TeamSpeak3美化教程</title>
        <link>https://blog.skyhaibara.top/p/teamspeak3%E7%BE%8E%E5%8C%96%E6%95%99%E7%A8%8B/</link>
        <pubDate>Thu, 11 Jun 2026 09:38:15 +0800</pubDate>
        
        <guid>https://blog.skyhaibara.top/p/teamspeak3%E7%BE%8E%E5%8C%96%E6%95%99%E7%A8%8B/</guid>
        <description>&lt;img src="https://blog.skyhaibara.top/Cover/yay.webp" alt="Featured image of post TeamSpeak3美化教程" /&gt;&lt;blockquote&gt;
&lt;p&gt;参考自&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        </item>
        <item>
        <title>TeamSpeak3</title>
        <link>https://blog.skyhaibara.top/p/teamspeak3/</link>
        <pubDate>Fri, 29 May 2026 09:38:15 +0800</pubDate>
        
        <guid>https://blog.skyhaibara.top/p/teamspeak3/</guid>
        <description>&lt;img src="https://blog.skyhaibara.top/Cover/cs.webp" alt="Featured image of post TeamSpeak3" /&gt;&lt;blockquote&gt;
&lt;p&gt;参考自 &lt;a class=&#34;link&#34; href=&#34;https://teamspeak.app/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vigorous Pro&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;比奇堡的各位好&#34;&gt;比奇堡的各位好
&lt;/h2&gt;&lt;p&gt;CS2 开黑想要&lt;strong&gt;稳定、低延迟、对硬件友好&lt;/strong&gt;的语音方案?TeamSpeak3 是经典之选 —— 服务器自托管、客户端体积小、十几人同频道也几乎不掉包。这篇是我给身边人整理的一站式指南:&lt;strong&gt;下载 → 连接 → 调音 → 快捷键&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&#34;teamspeak-是什么&#34;&gt;TeamSpeak 是什么
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.teamspeak.com/zh-CN/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TeamSpeak&lt;/a&gt; 是一款主打游戏开黑场景的 &lt;strong&gt;VoIP(网络语音)&lt;/strong&gt; 解决方案,相对 Discord / QQ 群语音的优势:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;自托管&lt;/strong&gt;:服务器在自己手里,不依赖第三方平台&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低延迟&lt;/strong&gt;:UDP 直连,中转节点少&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低占用&lt;/strong&gt;:CPU / 内存占用都比 Discord 客户端轻得多&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;频道权限灵活&lt;/strong&gt;:多频道嵌套、独立密码、独立人数上限&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;客户端下载&#34;&gt;客户端下载
&lt;/h2&gt;&lt;h3 id=&#34;方法一文档中心推荐&#34;&gt;方法一:文档中心(推荐)
&lt;/h3&gt;&lt;p&gt;直接进 &lt;a class=&#34;link&#34; href=&#34;https://www.teamspeak.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TeamSpeak3 官方下载&lt;/a&gt;,里面整理了 3 个国内镜像源,挑就近的那个下。&lt;/p&gt;
&lt;h3 id=&#34;方法二直链快速下载&#34;&gt;方法二:直链快速下载
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;用途&lt;/th&gt;
          &lt;th&gt;文件&lt;/th&gt;
          &lt;th&gt;链接&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Windows 64 位客户端&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;TeamSpeak3-Client-win64-3.6.2.exe&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://files-services.teamspeak.app/releases/client/3.6.2/TeamSpeak3-Client-win64-3.6.2.exe&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;下载&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;中文界面汉化包&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;Chinese_Translation_zh-CN.ts3_translation&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://dl.tmspk.wiki/https:/github.com/VigorousPro/TS3-Translation_zh-CN/releases/download/snapshot/Chinese_Translation_zh-CN.ts3_translation&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;下载&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;中文提示音包(可选)&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;Chinese_Soundpack_zh-CN.ts3_soundpack&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://teamspeak.top/download.php?file=/ts3/addons/Chinese_Soundpack_zh-CN.ts3_soundpack&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;下载&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;关于中文提示音&lt;/strong&gt;:安装后,系统每次&amp;quot;用户加入 / 离开 / 移动&amp;quot;等事件都会用中文女声朗读(比如&amp;quot;用户加入了您的频道&amp;quot;)。觉得吵就&lt;strong&gt;不要勾选这一项&lt;/strong&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/ts3/image-1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;TS3 客户端安装界面 — 推荐取消勾选提示音包&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;连接服务器&#34;&gt;连接服务器
&lt;/h2&gt;&lt;p&gt;打开客户端 → 顶栏 &lt;strong&gt;连接&lt;/strong&gt; → 在地址栏填入我的服务器地址。下面是&lt;strong&gt;汉字笔画码加密&lt;/strong&gt;版本(避免直接挂在公网被扫)：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;旦赁 卟透 肌匈 邗饫 妁巡 吕乙 瓜址 卟艳 邪玄 伥苍 他闱 加梧 邪泓 穴被
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;默认端口 &lt;code&gt;9987&lt;/code&gt;(TS3 通用,服务器没改就不用填)。&lt;/p&gt;
&lt;p&gt;填好之后点 &lt;strong&gt;连接&lt;/strong&gt;,自动落到大厅,再切到相关频道就能开聊。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/ts3/image-2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;TS3 连接服务器对话框&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;语音质量优化&#34;&gt;语音质量优化
&lt;/h2&gt;&lt;p&gt;新装客户端默认配置一般,推荐按下面这三步调一遍。&lt;/p&gt;
&lt;h3 id=&#34;麦克风模式&#34;&gt;麦克风模式
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/ts3/image-3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;TS3 麦克风模式选择 — Push-to-Talk / Voice Activation / Continuous&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;选择音频输入设备&#34;&gt;选择音频输入设备
&lt;/h3&gt;&lt;p&gt;下拉选自己实际接的麦克风(USB / 蓝牙耳机 / 板载耳麦 都在这选)。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/ts3/image-4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;TS3 音频输入设备选择&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;调整他人音量&#34;&gt;调整他人音量
&lt;/h3&gt;&lt;p&gt;频道里每个人都可以单独调音量,声音忽大忽小的时候用得上。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/ts3/image6.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;TS3 单人音量调节面板&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;常用快捷键&#34;&gt;常用快捷键
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;管理员模式提示&lt;/strong&gt;:如果全局快捷键在游戏窗口里&lt;strong&gt;不生效&lt;/strong&gt;(比如打 CS2 时按键没用),请用 &lt;strong&gt;管理员身份&lt;/strong&gt;重新打开 TeamSpeak3 — 否则游戏窗口会&amp;quot;抢走&amp;quot;快捷键。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://pub-fb5f542427074d66a4742ed7d0fcb694.r2.dev/ts3/image-5.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;TS3 快捷键列表截图&#34;
	
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Playing</title>
        <link>https://blog.skyhaibara.top/p/playing/</link>
        <pubDate>Wed, 09 Apr 2025 22:39:16 +0800</pubDate>
        
        <guid>https://blog.skyhaibara.top/p/playing/</guid>
        <description>&lt;img src="https://blog.skyhaibara.top/Cover/SHR.webp" alt="Featured image of post Playing" /&gt;</description>
        </item>
        <item>
        <title>考公笔记ing</title>
        <link>https://blog.skyhaibara.top/p/%E8%80%83%E5%85%AC%E7%AC%94%E8%AE%B0ing/</link>
        <pubDate>Mon, 24 Mar 2025 16:32:36 +0800</pubDate>
        
        <guid>https://blog.skyhaibara.top/p/%E8%80%83%E5%85%AC%E7%AC%94%E8%AE%B0ing/</guid>
        <description>&lt;img src="https://blog.skyhaibara.top/Cover/CL.webp" alt="Featured image of post 考公笔记ing" /&gt;&lt;h1 id=&#34;考公&#34;&gt;考公
&lt;/h1&gt;&lt;h2 id=&#34;新闻20250324启&#34;&gt;新闻（20250324启）
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;25-29日全国大部降温8~12℃℃，北方有大范围风沙，淮南局地有强对流天气;&lt;/li&gt;
&lt;li&gt;官方:我国将增加城乡居民收入，优化收入分配结构，让消费者有钱能消费;&lt;/li&gt;
&lt;li&gt;清明小长假火车票陆续开售，假期“踏青赏花”相关搜索热度同比上涨46%;&lt;/li&gt;
&lt;li&gt;合肥联合调查组:三只羊公司整改符合要求，具备恢复经营条件;&lt;/li&gt;
&lt;li&gt;《哪吒》系列电影总票房破200亿，饺子成中国影史首位200亿票房导演;&lt;/li&gt;
&lt;li&gt;福耀科技大学:首届招100人以内，年学费5460元，大四到境外名校学习一年;&lt;/li&gt;
&lt;li&gt;意大利出版世界首份AI报纸，文章的标题、摘要、内容等均由人工智能生成;&lt;/li&gt;
&lt;li&gt;尹锡悦、韩德洙、李在明案或在下周陆续宣判，韩国迎来“撼动政局”关键一周;&lt;/li&gt;
&lt;li&gt;本轮巴以冲突已致加沙地带超5万人死亡;&lt;/li&gt;
&lt;li&gt;加拿大和部分欧洲国家提醒本国公民谨慎赴美，可能被逮捕或遭拘押;&lt;/li&gt;
&lt;li&gt;美联储2024年亏损高达5600亿元，预示要再降200基点才能收支平衡;&lt;/li&gt;
&lt;li&gt;刚果(金)总统致信特朗普，如能帮助击败反政府武装，愿提供关键矿产资源;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;【微语】在春天，翻阅绿色的群山。群山不再是群山，群山遍地都是。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;0325&#34;&gt;0325
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;我国现有60-65岁低龄老人9000万，财富储备相对充足，消费意愿强烈，银发经济潜力巨大;&lt;/li&gt;
&lt;li&gt;我国发现首个亿吨级页岩油田，坐标山东淄博;&lt;/li&gt;
&lt;li&gt;60年间七千条冰川从我国消失，主要原因是全球气候变暖;&lt;/li&gt;
&lt;li&gt;报告显示:人工智能成跳槽新选择，57.2%的职场人考虑从事AI类职业;&lt;/li&gt;
&lt;li&gt;长沙:中考取消生物地理，总分降为630分，体育中考满分增至50分;&lt;/li&gt;
&lt;li&gt;安徽蚌埠全市试行作业熔断机制，家长签字后学生可不完成当天作业;&lt;/li&gt;
&lt;li&gt;青海多地就整治违规收礼再动员，3076人上缴礼金2095万元;&lt;/li&gt;
&lt;li&gt;香港:4月7日起乘客不得在航班上使用充电宝，且不得放置于行李架上;&lt;/li&gt;
&lt;li&gt;韩市民团体:宪法法院再不罢免尹锡悦，将举行总罢工;微信搜:每日资讯简报&lt;/li&gt;
&lt;li&gt;土耳其爆发十多年来最严重骚乱，因抓捕反对党领袖引发示威;&lt;/li&gt;
&lt;li&gt;以色列批准设立自愿移民事务局，为“自愿”迁往第三国加沙居民提供支持;&lt;/li&gt;
&lt;li&gt;特朗普宣布对从委内瑞拉购买石油和天然气的国家征收25%关税;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;【微语】你存在世界就存在，你没了世界也就没了。去逛吧，世界本就是你的后花园。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;0326&#34;&gt;0326
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;寒潮、大风、沙尘暴、大雾四预警齐发:华北、江淮、江南等地局地降温将超20℃C;&lt;/li&gt;
&lt;li&gt;清明假期4月4日(周五)至4月6日放假三天，不调休，小客车高速免费通行;&lt;/li&gt;
&lt;li&gt;国家级撑腰来了，修订后的《保障中小企业款项支付条例》6月起施行;&lt;/li&gt;
&lt;li&gt;中消协提示:网络购物非必要不开启“免密支付”，易成盗刷漏洞;&lt;/li&gt;
&lt;li&gt;上海加强治理一边走路一边抽烟;&lt;/li&gt;
&lt;li&gt;2000年1月1日0时0分出生的“世纪婴儿”千千因心源性猝死于山西长治，其母称有“严重医疗事故”，当地卫健委介入;&lt;/li&gt;
&lt;li&gt;世预赛:国足主场0比2不敌澳大利亚，18强赛再遭三连败，无缘直通世界杯;&lt;/li&gt;
&lt;li&gt;卢卡申科第七次宣誓就任白俄罗斯总统;&lt;/li&gt;
&lt;li&gt;印度打算放宽对华贸易和投资限制，向美国发出信号以对冲关税压力;&lt;/li&gt;
&lt;li&gt;韩国东南部大型山火已造成19人死亡;&lt;/li&gt;
&lt;li&gt;克宫证实俄方向金正恩发出访问邀请;&lt;/li&gt;
&lt;li&gt;美发布与俄乌会谈声明:同意确保黑海航行安全，禁止袭击能源设施;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;【微语】路不通就转弯，心不悦就看淡。愿你有前进一寸的勇气，亦有后退一尺的从容&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;0327&#34;&gt;0327
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;教育部:校外教育培训机构应入驻或接入全国平台，主动将预收费全额纳入监管;&lt;/li&gt;
&lt;li&gt;国台办网站设举报“台独”恶劣行径专栏，11名“台独”打手和帮凶名单公布;&lt;/li&gt;
&lt;li&gt;公安部:零容忍打击假冒伪劣老妇幼卫生用品;微信搜:每日资讯简报&lt;/li&gt;
&lt;li&gt;北京:新修订消防条例5月施行，严禁电动自行车进电梯，个人最高可罚1000元;&lt;/li&gt;
&lt;li&gt;广东拟规范中小学招生入学:推动多孩子女义务教育同校就读;&lt;/li&gt;
&lt;li&gt;广东已连续18年蝉联中国人口第一大省，连续7年成为第一生育大省;&lt;/li&gt;
&lt;li&gt;长沙中考新政:高层次人才子女享受优待，不用参加统考;&lt;/li&gt;
&lt;li&gt;我国短视频用户超10亿，人均每天刷短视频156分钟，居所有应用首位;&lt;/li&gt;
&lt;li&gt;60岁以上老人租房难成普遍现象;&lt;/li&gt;
&lt;li&gt;雷军重返高中母校，捐款5000万元;苹果CEO库克访问浙大捐赠鮃聵讎姒仰贖砜凇漚挰犼莱勍觊蛭缋锲洹摣嘗崴鸕糖莓坝桥迨先;&lt;/li&gt;
&lt;li&gt;李在明涉嫌违反《公职选举法》案二审推翻一审判决，判定无罪;&lt;/li&gt;
&lt;li&gt;以总理:哈马斯不放人就吞并更多加沙领土;微信搜:每日资讯简报&lt;/li&gt;
&lt;li&gt;泽连斯基:乌军没钱了，呼吁西方资助&lt;/li&gt;
&lt;li&gt;特朗普签署行政令，要求选民提供美公民身份证明;&lt;/li&gt;
&lt;li&gt;特朗普宣布对所有进口汽车征收25%关税;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;【微语】生活不是你活过的样子，而是你记住的样子。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;0328&#34;&gt;0328
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;食品安全新国标:不允许再使用“零添加”等用语对食品配料进行特别强调;&lt;/li&gt;
&lt;li&gt;教育部:严查招生入学环节腐败问题;&lt;/li&gt;
&lt;li&gt;深圳官宣房票制度，四大一线城市均已开始探索;&lt;/li&gt;
&lt;li&gt;青岛:延长住房公积金贷款借款人年龄上限，男68岁女63岁;&lt;/li&gt;
&lt;li&gt;致25车坠河，62人死亡失踪!陕西丹宁高速桥梁垮塌灾害43人被问责;&lt;/li&gt;
&lt;li&gt;微信小程序上线“附近的工作”功能，主要是解决零工难题;&lt;/li&gt;
&lt;li&gt;张一鸣超钟睦睒、马化腾成中国新首富，雷军2200亿元首次进入中国前十;&lt;/li&gt;
&lt;li&gt;世界顶流网红“甲亢哥”中国行，让全球了解真实中国;&lt;/li&gt;
&lt;li&gt;日本严重关切中国国防预算上涨，国防部:日本最没资格指手画脚;&lt;/li&gt;
&lt;li&gt;特朗普:愿降低对华关税换TikTok出售;&lt;/li&gt;
&lt;li&gt;朝鲜公布新型无人机画面，金正恩: AI无人机将在战场发挥威力;&lt;/li&gt;
&lt;li&gt;韩国史上最严重山火已致28人死亡，过火面积超半个首尔;&lt;/li&gt;
&lt;li&gt;欧盟督促公民囤积72小时物资应对危机，将提出覆盖整个欧盟的物资储备战略;&lt;/li&gt;
&lt;li&gt;马克龙宣布向乌克兰额外提供20亿欧元军事援助;&lt;/li&gt;
&lt;li&gt;以军证实打死哈马斯发言人;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;【微语】一切好的东西都经得起时间的推敲。花有花期，人有时运，怀爱与诚，静等来日。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;题型整理&#34;&gt;题型整理
&lt;/h1&gt;&lt;h2 id=&#34;图形推理题&#34;&gt;图形推理题
&lt;/h2&gt;</description>
        </item>
        <item>
        <title>归档</title>
        <link>https://blog.skyhaibara.top/archives/</link>
        <pubDate>Tue, 28 May 2019 00:00:00 +0000</pubDate>
        
        <guid>https://blog.skyhaibara.top/archives/</guid>
        <description></description>
        </item>
        <item>
        <title>关于</title>
        <link>https://blog.skyhaibara.top/%E5%85%B3%E4%BA%8E/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://blog.skyhaibara.top/%E5%85%B3%E4%BA%8E/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;这没啥好看的捏 —— 但你既然来了,就坐下喝杯茶吧 ☕&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;storytelling dialog-mode&#34;&gt;&lt;p class=&#34;dialog-me&#34;&gt;“你知道失败的恋爱最像什么吗？”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友说：&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“像散场。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我摇头。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“像一封信。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友愣了一下。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“信？”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我点头。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“而且是一封没寄到的信。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友问：&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“什么意思？”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我没有立刻回答。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;只是拿起桌上的纸。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;在上面写了几个字。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;然后折起来。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;放进信封。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;却没有贴邮票。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;也没有写地址。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我把信放在桌上。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;看着他。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“你觉得。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“这封信算存在吗？”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友说：&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“当然存在。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“那它算送到吗？”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“没有。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我点点头。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“很多恋爱就是这样。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“感情是真的。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“心意是真的。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“认真也是真的。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“只是没有送到。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友沉默了一下。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“可失败不就是不够爱吗？”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我笑了。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“人总喜欢这样安慰自己。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“因为这样简单。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“可现实没那么简单。”&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;有的人不够爱。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;所以离开。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;有的人太爱。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;最后也离开。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;有的人输给距离。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;有的人输给时间。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;有的人输给现实。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;还有的人。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;什么都没输。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;只是没走到最后。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友问：&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“那为什么会觉得痛苦？”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我说：&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“因为信还在手里。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友没听懂。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我继续说：&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“如果从来没写过。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“反而容易接受。”&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;最难受的是。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;你已经写满了整张纸。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;认真斟酌过每一个字。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;幻想过对方收到时的表情。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;甚至想过很多年后的故事。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;结果有一天，&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;你忽然发现，&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;这封信没有地址。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;窗外的风轻轻吹动窗帘。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我看着远处的路灯。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;继续说：&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“后来我发现。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“很多人怀念的。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“其实不是前任。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友抬头。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“那是什么？”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“是那封没送出去的信。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友愣住。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我笑了笑。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“你怀念的未必是那个人。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“而是那个认真准备了一切的自己。”&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;那个会熬夜聊天的人。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;那个会期待消息的人。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;那个会因为一句晚安开心很久的人。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;那个相信未来的人。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友沉默了。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;过了一会儿。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;他说：&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“那是不是所有失败的恋爱都会留下遗憾？”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我摇头。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“不一定。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“有些信虽然没送到。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“可写信的人长大了。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友若有所思。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“什么意思？”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我说：&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“年轻的时候。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“我们写信是为了得到回应。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;后来才明白。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;有些信写出来。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;意义就已经完成了。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友皱起眉。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我继续说：&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“因为爱情最珍贵的部分。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“未必是拥有。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“而是它让你看见了自己。”&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;你原来可以那么勇敢。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;你原来可以那么温柔。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;你原来可以那么认真。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;哪怕结局不好。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;这些都是真的。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友轻轻叹了口气。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“可还是会不甘心。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我点头。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“当然。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“谁写完一封信。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“不希望它被看见呢？”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我停顿了一下。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;继续说：&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“可人生有时候就是这样。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“有些信寄到了。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“却没有回信。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“有些信半路丢失。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“有些信送错了人。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“有些信甚至来不及写完。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“而爱情只是其中一种。”&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;夜色渐渐深了。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;街上的行人越来越少。&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友忽然问：&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“那你觉得。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;“失败的恋爱到底留下了什么？”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我想了很久。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;没有立刻回答。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;最后看着桌上的空信封。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;轻声说：&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“留下了一个寄件人。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友没说话。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我继续说：&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“年轻的时候。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“我们总以为爱情是在寻找收件人。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“后来才发现。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“爱情真正完成的。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“往往是寄件人。”&lt;/p&gt;&lt;p class=&#34;dialog-friend&#34;&gt;朋友看着我。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;没有说话。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;我笑了笑。&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“那封信最后有没有送到。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“有时候并不重要。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“重要的是。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“写完它以后。”&lt;/p&gt;&lt;p class=&#34;dialog-me&#34;&gt;“你终于知道自己想说什么了。”&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;窗外的灯一盏盏熄灭。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;桌上的信依旧安静地放着。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;没有地址。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;没有邮票。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;也没有收件人。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;可我忽然觉得。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;它已经完成了自己的使命。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;因为有些爱情。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;不是为了抵达别人。&lt;/p&gt;&lt;p class=&#34;dialog-narration&#34;&gt;而是为了抵达自己。&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;文章默认采用 &lt;a class=&#34;link&#34; href=&#34;https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CC BY-NC-SA 4.0&lt;/a&gt; 许可,转载请注明出处。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你看到这里,谢谢你认真翻过 ✨&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        </item>
        <item>
        <title>技术链接</title>
        <link>https://blog.skyhaibara.top/%E6%8A%80%E6%9C%AF%E9%93%BE%E6%8E%A5/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://blog.skyhaibara.top/%E6%8A%80%E6%9C%AF%E9%93%BE%E6%8E%A5/</guid>
        <description></description>
        </item>
        <item>
        <title>搜索</title>
        <link>https://blog.skyhaibara.top/search/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://blog.skyhaibara.top/search/</guid>
        <description></description>
        </item>
        
    </channel>
</rss>
