C#:正经了这么久,来个恶搞吧,大家竟然开始“兽语”交流

兽音译器的编码原理 兽音译器的编码原理,跟在线网址的结果一致的 阅读详情
AI摘要

本文介绍了一款使用C#开发的兽语翻译器,它能够将普通文本转换成特定的“兽语”,并能反向转换。核心原理是通过自定义编码方式,将输入文本转换为二进制字符串,再将二进制字符串转换为预设的“兽语”。文中详细解释了编码设计思路及实现细节。

偶然在贴吧看到的,发现了大家的交流方式变化太快了啊

~呜嗷嗷嗷嗷呜啊嗷啊~呜嗷呜呜~呜啊~啊嗷啊呜嗷呜~~
~嗷~呜呜呜~~嗷嗷嗷呜啊呜呜啊呜嗷呜呜啊呜嗷呜啊嗷啊
呜~嗷啊啊~嗷~呜嗷嗷~啊嗷嗷嗷呜啊嗷呜呜呜嗷呜呜~嗷

这个是什么交流方式啊,都兽人化了么~~~~

原来有个软件 兽音译者,通过该软件可以将文本转换为 “兽语”

不过采用这个软件进行交流好像解锁了什么东西~~~~

~magnet:xt=urn:btih:~

学习资料,别多想

在这里插入图片描述
我是很单纯的。

下面介绍下采用C# 如何实现这个翻译器呢

首先:我们看下整体效果

在这里插入图片描述
是不是有点蠢蠢欲动的感觉。

一、窗体设计

首先我们进行窗体设计,采用配置文件的方式

文本
在这里插入图片描述
在这里插入图片描述
读取文本

        private void readConfig()
        {
            StreamReader sr = new StreamReader(Directory.GetCurrentDirectory() + "\\config.cfg", Encoding.Default);
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                comboBox_custom.Items.Add(line);
            }
        }

二、编码设计

目前只支持四个自定义字符(不能相同)

我们可以看出其实兽语互译其实是自定义了一种编码方式,那么如何制定该编码方式呢?

我们有四个字符,文本可以转换为8位二进制字符串,那我们是不是可以将自定义的四个字符采用二进制方式进行定义呢

// 对应 唔~嗷呜 四个文本
public string[] dict = { "00", "01", "10", "11"};

那么我们可以将输入的文本转换位二进制字符串,然后将二进制字符串没两位对应一个文本,然后就可以转换了。

        /// <summary>
        /// 字符串转二进制
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private string StringToBinary(string str)
        {
            byte[] data = Encoding.Unicode.GetBytes(str);
            StringBuilder sb = new StringBuilder(data.Length * 8);
            foreach (byte item in data)
            {
                sb.Append(Convert.ToString(item, 2).PadLeft(8, '0'));
            }
            return sb.ToString();
        }

        /// <summary>
        /// 二进制转字符串
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private string BinaryToString(string str)
        {
            System.Text.RegularExpressions.CaptureCollection cs = System.Text.RegularExpressions.Regex.Match(str, @"([01]{8})+").Groups[1].Captures;
            byte[] data = new byte[cs.Count];
            for (int i = 0; i < cs.Count; i++)
            {
                data[i] = Convert.ToByte(cs[i].Value, 2);
            }
            return Encoding.Unicode.GetString(data, 0, data.Length);
        }

转换方式

        /// <summary>
        /// 兽语转二进制
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private string aniTobinary(string str)
        {
            string result = "";
            string language = getLanguage();
            string tmp = "";

            for (int i = 0; i < str.Length; i++)
            {
                tmp = str[i].ToString();

                if (tmp.Equals(language[0].ToString()))
                {
                    result += dict[0];
                }
                else if (tmp.Equals(language[1].ToString()))
                {
                    result += dict[1];
                }
                else if (tmp.Equals(language[2].ToString()))
                {
                    result += dict[2];
                }
                else if (tmp.Equals(language[3].ToString()))
                {
                    result += dict[3];
                }
            }

            return result;
        }

        /// <summary>
        /// 二进制转兽语
        /// </summary>
        /// <param name="binary"></param>
        /// <returns></returns>
        private string binaryToAni(string binary)
        {
            string r = "";
            string language = getLanguage();
            string tmp = "";

            for (int i = 0; i < binary.Length; i+=2)
            {
                tmp = binary.Substring(i, 2);
                if(tmp.Equals(dict[0]))
                {
                    r += language[0].ToString();
                }
                else if (tmp.Equals(dict[1]))
                {
                    r += language[1].ToString();
                }
                else if (tmp.Equals(dict[2]))
                {
                    r += language[2].ToString();
                }
                else if (tmp.Equals(dict[3]))
                {
                    r += language[3].ToString();
                }
            }
            
            return r;
        }

三、执行

 private void button_translation_Click(object sender, EventArgs e)
        {
            textBox_translate_text.Clear();
            string result = "";
            string binary = "";

            if (radioButton_normal_to_ani.Checked)
            {
                if (textBox_normal_text.Text != null)
                {
                    binary = StringToBinary(textBox_normal_text.Text);
                    result = binaryToAni(binary);
                }
            }
            else if (radioButton_ani_to_normal.Checked)
            {
                binary = aniTobinary(textBox_normal_text.Text);
                result = BinaryToString(binary);
            }

            textBox_translate_text.Text = result;

        }

我们看下运行结果

普通文本转换为兽语
在这里插入图片描述
兽语转换为普通文本
在这里插入图片描述
下载地址:兽语翻译器

CTF+密码学 CTF+密码学 提示:前一段时间团队举行了内部赛,本来觉得密码学类的题应该是最简单的,但是当自己去做题的时候才发现,积累的并不是很多,并且这些东西记不在脑子里。所以打算写一篇文章来记录一下目前所遇到的密码学 文章目录CTF+密码学前言一、Base家族二、凯撒密码三、维吉尼亚密码四、栅栏密码五、猪圈密码六、摩斯密码七、ASCII编码八、弱口令九、培根密码十、当铺密码其他不常见密码总结 前言 密码学个人感觉这是一个很容易掌握,但又不好搞得东西。容易掌握是因为这个东西没有门槛任何人都可以做,说它不好搞是因为 阅读详情

相关推荐

工程师的幽默与智慧:从虚构书单看技术管理的真实内核

在技术工程与项目管理领域,系统思维与工程实践是构建可靠解决方案的基石。其原理在于通过结构化方法解构复杂问题,将模糊经验转化为可复用、可验证的方法论,从而提升团队协作效率与系统鲁棒性。这种思维模式的技术价值在于,它不仅能优化开发流程、降低项目风险,更能培养一种在不确定性中寻找确定性的工程素养。在嵌入式开发、高速电路设计、低功耗系统等场景中,这种从细节入手、重视数据与规范的理念尤为重要。本文通过一系列虚构的工程管理书籍标题,如《焊锡:我最爱的编程语言》和《谁把魔法烟雾放跑了?》,以幽默为外壳,生动诠释了如何将日

weixin_30755393的博客 406

兽音译者iOS APP,支持iPhone、iPad、Mac~

最近大家可能在朋友圈、微信聊天、百度贴吧里看到诸如这样的加密信息: ~呜嗷呜嗷嗷嗷啊嗷嗷~啊呜~啊~呜呜嗷~呜~啊~啊呜呜啊~~嗷~啊啊~呜呜嗷啊啊呜嗷嗷~呜~嗷呜呜啊啊嗷嗷呜嗷呜~~嗷呜嗷~呜~啊呜嗷呜呜~呜嗷啊嗷啊啊~~~呜啊嗷啊~呜呜~嗷啊啊啊啊 哈哈,乍一看还以为是灌水评论,其实不然。其实是一种比较火的密文。因为加密文字是嗷呜嗷呜这类的动物兽音。于是乎这个软件就和百度兽人吧联系上了,实际两者并无关系。 来,小编告诉你如果以后看到这种文字,怎么解密。只需要复制这种密文,然后打开兽音译者APP。点击粘贴

Pou321的博客 2万+

兽音译者Python源码

兽音译者,一种将“呜嗷啊~”四个字符,通过特殊算法,将明文进行重新组合的加密算法。一种新的咆哮体加密算法。还可以将四个字符任意换成其它的字符,进行加密。

Bugku-再也没有纯白的灵魂

呜嗷嗷嗷嗷呜啊嗷啊呜呜嗷呜呜~嗷嗷~啊嗷啊呜嗷嗷~嗷~嗷~呜呜嗷呜啊嗷嗷嗷呜啊呜~啊呜嗷呜呜~嗷呜呜啊嗷啊呜嗷嗷呜嗷~嗷~呜嗷嗷~嗷嗷嗷嗷呜啊呜~呜呜嗷呜呜~嗷~~啊嗷啊呜嗷嗷嗷嗷~嗷~呜呜嗷~呜嗷嗷嗷呜呜嗷嗷嗷呜嗷呜呜~呜啊啊啊嗷啊呜嗷嗷嗷~~嗷~呜呜嗷啊嗷嗷嗷嗷呜呜嗷嗷嗷呜嗷呜呜~呜啊啊啊嗷啊呜嗷嗷嗷~~嗷~呜呜嗷~啊嗷嗷嗷呜啊呜啊嗷呜嗷呜呜啊嗷呜嗷啊嗷啊呜嗷呜~呜~嗷~呜呜嗷呜嗷嗷嗷嗷呜啊嗷嗷呜呜嗷呜呜~呜呜嗷啊。下载文件发现是兽音先用https://roar.iiilab.com/加密flag。

2502_90869383的博客 1879

兽音译者Javascript源码

兽音译者,一种将“呜嗷啊~”四个字符,通过特殊算法,将明文进行重新组合的加密算法。一种新的咆哮体加密算法。还可以将四个字符任意换成其它的字符,进行加密

beast_sdk:兽音译者(兽语翻译)SDK

兽音译者(兽语翻译)SDK 采用 JavaScript 、 GoLang 、 Python 、 PHP 多端实现。 可以自定义字符, 可以相互兼容,具体按照需要自行改造。 使用 翻译到兽语 JavaScript var str = encode("你好"); console.log(str); // 呜嗷嗷嗷啊嗷嗷~啊呜~啊~呜呜嗷 PHP <?php include('./beast.php'); $enStr = encode("你好"); echo "兽语:" . $enStr; // 呜嗷嗷嗷啊嗷嗷~啊呜~啊~呜呜嗷 GoLang enStr := encode("你好") fmt.Print(enStr) // 呜嗷嗷嗷啊嗷嗷~啊呜~啊~呜呜嗷 Python print(encode("你好")) // 呜嗷嗷嗷啊嗷嗷~啊呜~啊~呜呜嗷 翻译到人话 JavaScript var

C# Graphics图像处理实战:从DrawString到蒙版混合的趣味应用开发

在C#桌面应用开发中,图形图像处理是核心技能之一,它通过System.Drawing命名空间中的Graphics类实现,该类提供了在绘图表面绘制文本、形状和图像的基础能力。其原理在于利用GDI+图形设备接口,通过DrawString等方法将元素渲染到位图上,并结合蒙版、位图操作实现图层合成与特效。这项技术的价值在于能够创建丰富的视觉交互体验,广泛应用于图像编辑工具、数据可视化、游戏界面及趣味应用等场景。本文聚焦于一个具体案例:开发一个“图片本性揭露器”趣味程序,它巧妙运用半透明叠加、颜色减淡混合等Graph

weixin_30335353的博客 367

iPad秒变Mac副屏的隐藏技巧:用BetterDisplay实现无线竖屏+90度锁定

本文详细介绍了如何利用BetterDisplay软件突破苹果原生“随航”(Sidecar)功能的限制,将iPad无线设置为Mac的竖屏副屏,并实现90度方向锁定。通过创建虚拟显示器、配置分辨率与旋转参数,并校准鼠标指针,用户可以高效利用iPad的纵向空间进行文档阅读、编码等工作,显著提升多屏协作效率。

weixin_29266647的博客 603

从“杀手杰夫”看网络链接陷阱:社会工程学攻击与安全防护实践

社会工程学攻击通过利用人性弱点,如好奇心、信任和从众心理,诱使用户点击恶意链接,这是网络安全领域的基础性威胁。其核心原理在于绕过技术防御,直接针对人的心理和行为模式进行操控。在技术层面,短链接滥用、域名仿冒等手段常被用于伪装恶意网址,以实现钓鱼攻击、恶意软件传播等目的。这类攻击的技术价值在于揭示了纯粹依赖技术防护的局限性,强调了“人”作为安全环节的重要性。应用场景广泛存在于社交媒体分享、即时通讯、邮件钓鱼等日常网络交互中。本文以“杀手杰夫”这一典型传播案例为切入点,深入剖析了链接陷阱的运作机制,并系统介绍了

weixin_30298497的博客 408

RK3588与FPGA高速PCIe通信:从理论带宽到实战优化的全流程解析

本文深入解析了瑞芯微RK3588与FPGA之间基于PCIe Gen2的高速通信全流程。从理论带宽计算(约1640MB/s)出发,详细拆解了硬件连接、驱动加载、DMA配置等关键步骤,并重点分享了中断优化、内存管理及高级调优等实战技巧,旨在帮助开发者从“跑通”到“跑好”,实现接近理论极限的稳定高效数据传输。

weixin_29175469的博客 330

Sigrity Power DC Package Multi-Resistor Compact ET Model Extraction模式提取封装基板电热阻模型

DIE(定义DIE的参数):material设置为silicon(硅),Attach material(贴片的材料,设置为Die Attach),Attach thickness(贴片的材料的厚度,厚度设置为0.001mm,点击ok。Cap为覆盖材料,Material定义材料类型,thickness定义厚度,length和width定义长宽,Adhesive Material为胶的材料,Adhesive Material为胶的厚度,本例不定义,跳过即可。

weixin_54787054的博客 436

兽音译者编码实现

偶然看到有hero分享资源使用了这个加密,看了一下并不是太难于是学习了一下。这个加密逻辑是基于一个自定义的字符集()对输入字符串进行编码,将每个字符的 Unicode 值转换为十六进制后,再把每个字符通过映射到beast 中的字符组合。

2301_80688586的博客 6657

AUTOSAR从入门到精通-复杂设备驱动(CDD)

CDD是复杂设备驱动的首字母缩写主要为驱动程序或复杂驱动程序,但不限于驱动程序。复杂驱动程序是一种未被AUTOSAR标准化的软件实体,可以通过AUTOSAR接口和/或基本软件模块api访问。 CDD是位于基础软件复杂驱动层的特定模块,与标准BSW模块或Rte交互。 CDD可能需要与分层软件体系结构的模块连接 分层软件架构的模块可能需要连接到CDD CDD可能需要通过Rte连接swc。

getusushu的博客 4190

攻防世界 Misc miao~

在Audacity中打开,查看频谱图,得到密码CatCTF。在deepsound中打开wav文件,得到flag.txt。分离出jpg中隐含的内容,得到一个wav音频文件。打开flag.txt发现是兽语。得到一个jpg图片,

muyi_jj_的博客 4022

Codex 100个真实案例 - 用AI绘制CAD机械图纸(工程师看了直呼内行)

本案例将展示如何用 Codex 生成 Python 脚本,通过 `ezdxf` 库绘制标准 DXF 格式的 CAD 机械图纸。我们会从零开始,逐步实现直线、圆、圆弧、标注等基本图形元素,最终绘制出一张包含主视图、俯视图、尺寸标注、标题栏和技术要求的完整法兰盘零件图。还会演示参数化批量生成不同规格零件图和自动 BOM 物料清单,生成的 DXF 文件可直接在 AutoCAD、FreeCAD 中打开。全程用自然语言驱动 Codex,工程师看完直接上手!

yueyeguzhuo的专栏 2059

45、使用 sqlread 函数将数据从数据库表导入 MATLAB

本文详细介绍了如何使用 MATLAB 中的 `sqlread` 函数从不同类型的数据库(如 Microsoft SQL Server 和 SQLite)中导入数据。文章涵盖了 `sqlread` 的基本语法、输入输出参数、使用示例以及注意事项,并通过多个实例演示了自定义导入选项、元信息检索和数据类型转换等内容。此外,还总结了导入数据库数据的通用流程及最佳实践建议,帮助用户更高效地进行数据分析和处理工作。

bash7scripter的博客 133

密码学·编码类密码·CTF常见考察密码

Base16先获取输入字符串每个字节的二进制值(不足8比特在高位补0),然后将其串联进来,再按照4比特一组进行切分,将每组二进制数分别转换成十进制,在下述表格中找到对应的编码串接起来就是Base16编码。编码每60个将输出为独立的一行(相当于45个输入字节),每行的开头会加上长度字符,除了最后一行之外,长度字符都应该是“M”这个ASCII字符(77=32+45),最后一行的长度字符为32+剩下的字节数目这个ASCII字符。URL编码的原理是将特殊字符转换成%加上其对应的ASCII码的十六进制表示。

大河之犬的博客 5627

PyTorch生成式人工智能(1)——神经网络与模型训练过程详解

在本节中,我们介绍了传统机器学习与人工神经网络间的差异,并了解了如何在实现前向传播之前连接网络的各个层,以计算与网络当前权重对应的损失值;实现了反向传播以优化权重达到最小化损失值的目标。并实现了网络的所有关键组成——前向传播、激活函数、损失函数、链式法则和梯度下降,从零开始构建并训练了一个简单的神经网络。

盼小辉丶的博客 1万+

.misc

眼见非实 下载 解压文件 打开后是一个word文档 很难找到线索 用工具尝试一下(010editor) 可以看到 应该开头为504B0304 zip压缩包的文件头 所以吧word文档后缀改为zip压缩包形式 重新解压打开 打开后又出现了新文件 打开文件查找 最终在document.xml中找到flag 再也没有纯洁的灵魂 下载文件 打开 属于是兽音译音 (刚学的)尝试突破 对照后发现规律 B-嗷 U-呜 G-啊 K-~ 进行替换...

m0_57954651的博客 3316

基于Matlab模拟六自由度Stewart并联机器人运动学逆解

在现代工业和科学领域中,机器人技术的发展已经取得了巨大的进步,为生产和研究提供了许多便利。其中,六自由度Stewart并联机器人是一种广泛应用于各种领域的机器人系统。它具有高精度、高刚度和高可靠性的特点,被广泛应用于飞行模拟器、手术机器人和运动仿真等领域。然而,要使Stewart并联机器人能够实现复杂的运动任务,我们需要了解其运动学逆解。运动学逆解是指根据机器人末端执行器的位置和姿态,计算出各个关节的角度和长度。这对于控制机器人的运动非常重要,因为它可以帮助我们确定机器人各个关节的运动范围和工作空间。

qq_59747472的博客 1126

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

记 Bugku---Writeup

Bugku--Web--writeup

m0_61596829的博客 1269

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

音频编码与解码:算法与实现

1.背景介绍 音频编码与解码是计算机音频处理领域的基础技术,它涉及将音频信号从数字形式转换为模拟信号(编码),以及将模拟信号从模拟形式转换为数字信号(解码)。在数字音频处理中,音频编码与解码技术起着至关重要的作用。 音频编码与解码技术的发展与音频处理领域的应用密切相关。随着互联网和数字通信技术的发展,音频信息的传输和存储已经成为日常生活中不可或缺的一部分。为了满足不断增加的音频信息处理需求,音...

AI天才研究院 1495

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JavaScript 兽音译 源码

兽音译 JS

PeerLessSoul 1154

青少年CTF_misc部分题解

青少年CTF_misc部分题解

cfy2401926342的博客 5918
上一篇: ELK:SpringBoot整合ES版本端口号踩坑记录
下一篇: Linux:vsftpd环境搭建
胖胖的战士
博客等级 码龄18年 104粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值