• 加密_easy_crypto


    题目链接:https://ctf.bugku.com/challenges

    题解:

    打开题目,观察这一串数组,发现每一组都是由0和1组成,且长短不一;找到了mrose和ascii的对应表,mrose和ascii对应表链接:https://pan.baidu.com/s/1qaE5AjcORTBrI_In6TNaSw

    虽然原理倒是懂了,可是不可能一个一个的进行对比啊,太浪费时间咯。因此,无聊至极,写了一个c#代码进行转换,话不多说,源代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                string oldstr;
                oldstr = Console.ReadLine();
                string []str = oldstr.Split(' ');
                for (int i = 0; i < str.Length; i++)
                {
                    switch (str[i])
                    {
                        case "01":
                            Console.Write("A"); break;
                        case "1000":
                            Console.Write("B"); break;
                        case "1010":
                            Console.Write("C"); break;
                        case "100":
                            Console.Write("D"); break;
                        case "0":
                            Console.Write("E"); break;
                        case "0010":
                            Console.Write("F"); break;
                        case "110":
                            Console.Write("G"); break;
                        case "0000":
                            Console.Write("H"); break;
                        case "00":
                            Console.Write("I"); break;
                        case "0111":
                            Console.Write("J"); break;
                        case "101":
                            Console.Write("K"); break;
                        case "0100":
                            Console.Write("L"); break;
                        case "11":
                            Console.Write("M"); break;
                        case "10":
                            Console.Write("N"); break;
                        case "111":
                            Console.Write("O"); break;
                        case "0110":
                            Console.Write("P"); break;
                        case "1101":
                            Console.Write("Q"); break;
                        case "010":
                            Console.Write("R"); break;
                        case "000":
                            Console.Write("S"); break;
                        case "1":
                            Console.Write("T"); break;
                        case "001":
                            Console.Write("U"); break;
                        case "0001":
                            Console.Write("V"); break;
                        case "011":
                            Console.Write("W"); break;
                        case "1001":
                            Console.Write("X"); break;
                        case "1011":
                            Console.Write("Y"); break;
                        case "1100":
                            Console.Write("Z"); break;
    
                        case "01111":
                            Console.Write("1"); break;
                        case "00111":
                            Console.Write("2"); break;
                        case "00011":
                            Console.Write("3"); break;
                        case "00001":
                            Console.Write("4"); break;
                        case "00000":
                            Console.Write("5"); break;
                        case "10000":
                            Console.Write("6"); break;
                        case "11000":
                            Console.Write("7"); break;
                        case "11100":
                            Console.Write("8"); break;
                        case "11110":
                            Console.Write("9"); break;
                        case "11111":
                            Console.Write("0"); break;
    
                        case "001100":
                            Console.Write("?"); break;
                        case "10010":
                            Console.Write("/"); break;
                        case "100001":
                            Console.Write("-"); break;
                        case "010101":
                            Console.Write("."); break;
                        case "110011":
                            Console.Write(","); break;
                        case "011010":
                            Console.Write("@"); break;
                        case "111000":
                            Console.Write(":"); break;
                        case "101010":
                            Console.Write(";"); break;
                        case "10001":
                            Console.Write("="); break;
                        case "011110":
                            Console.Write("'"); break;
                        case "101011":
                            Console.Write("!"); break;
                        case "001101":
                            Console.Write("_"); break;
                        case "010010":
                            Console.Write("""); break;
                        case "10110":
                            Console.Write("("); break;
                        case "101101":
                            Console.Write(")"); break;
                        case "0001001":
                            Console.Write("$"); break;
                        case "01000":
                            Console.Write("&"); break;
                    }
                }
            }
        }
    }

    跑下代码,运行结果如下:

    得到:

    FLAGM0RSE_CODE_1S_INTEREST1N9!

    但是问题来了,提交flag为  FLAG{M0RSE_CODE_1S_INTEREST1N9!}  时不正确,可能是因为要求答案为小写吧,于是修改flag为小写,注意其中有字符“1”、“0”、“9”,不要与字母弄混了哟

    所以本题flag:

    flag{m0rse_code_1s_interest1n9!}
  • 相关阅读:
    20200925--矩阵加法(奥赛一本通P93 6 多维数组)
    20200924--图像相似度(奥赛一本通P92 5多维数组)
    20200923--计算鞍点(奥赛一本通P91 4)
    20200922--计算矩阵边缘元素之和(奥赛一本通P91 3二维数组)
    20200921--同行列对角线的格(奥赛一本通P89 2 二维数组)
    磨人的.net core 3.1(二) DataReader的问题
    磨人的.net core 3.1(一) CORS的问题
    Vue SSR问题:返回的js打包文件为HTML文件
    axios与.net core API实现文件下载
    .Net Core API中基于System.Threading.Timer的定时任务
  • 原文地址:https://www.cnblogs.com/gzu_zb/p/10360370.html
Copyright © 2020-2023  润新知