1、聪明的小羊
所谓栅栏密码,就是把明文分成N个组,然后取出每组的第一个,每组的第二个。。接着按顺序排列得出密文。若每个组里有2两个元素的话就叫2栏栅栏密码。
加密:
按照2栏栅栏密码的步骤就需要将这个字符串分成9个组(明文中的空格不计数)
将每个组的第一个元素提出来,
将每个组的第二个元素提出来,
最后按照顺序排列密文即可
解密:
若要将密文还原为明文,只需将密文分成两半(已知是2栏栅栏密码)
第一个组为 fa{fe13f590
第二个组为lg6d46d0d0}
只需从第一个组读一个元素,第二个元素读一个元素,循环往复即可得到明文
得到:flag{6fde4163df05d900}
工具:栅栏密码_栅栏密码转换器
2、/.-
首先,需要理解摩斯密码的基本构成。摩斯密码由点和划组成,点用"."表示,划用"-"表示。每个字母或数字都有一个独特的摩斯密码表示。例如,字母A的摩斯密码是".-",字母B是"-...",依此类推。
解密摩斯密码的过程通常包括以下步骤:
- 分组:首先,我们需要将摩斯密码序列按照字母或数字的摩斯密码长度进行分组。
- 转换:接下来,我们使用摩斯密码表将每组摩斯密码转换为对应的字母或数字。
- 组合:最后,我们将转换后的字母或数字按顺序组合起来,形成解密后的文本。
思路: 首先发现是.- 便可以想到摩斯密码 而/正好是阻隔线,便进行尝试解密得:
FLAG%u7bD3FCBF17F9399504%u7d
注: ①flag应该是小写
②%u7b和%u7d就是两个花括号
③其他大写字母也是小写
3、把住困在猪圈里
猪圈密码:(亦称朱高密码、共济会暗号、共济会密码或共济会员密码),是一种以格子为基础的简单替代式密码。即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法。
思路:
- 根据题目提示,应该是猪圈密码
- 文件以=等号结尾,猜测base64
- 又因为猪圈密码多以图片出现,尝试base64转图片,工具:(base64转图片BASE64转图片 - 站长工具 - 极速数据)
- 在猪圈密码解码器中得到flag
工具:(解码器猪圈密码解密-ME2在线工具)
Base64编码为什么会以=号结尾
- 在对报文进行base64编码后,会发现结尾会有等号,是否所有的都要以=结尾呢?
-
- 答案是否定的,=号存在的意义是为了补位,base64编码后的长度需要是4个字符的倍数,如果不是4的倍数需要在结尾加上=。
4、[+-<>]
brainfuck编码,工具(Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org])
5、小山丘的秘密
描 述: hill能有什么秘密呢
希尔的英文也是hill ,根据提示:希尔(hill)密码
工具:希尔密码加密/解密 - 一个工具箱 - 好用的在线工具都在这里!)
flag.txt 中给出A=1,一般的希尔密码是A=0,B=1, C=2 …所以字母表需要修改,现在的字母表为Z=0 , A=1 , B=2 …Y=25,即字母表为:zabcdefghijklmnopqrstuvwxy
希尔密码还需要密钥,密钥肯定就在图片中,九宫格的,直接3*3的矩阵,
图片看上去4和9的位置看上去像是缺了棋子,那么将它看作0,那么此处位置为 z ,其他位置有几个棋子代表几,得到密钥123014560→abczadefz
希尔密码详细可参考:希尔密码详解-CSDN博客
6、.!?
Ook!编码
工具:Brainfuck/Text/Ook! obfuscator - deobfuscator. Decode and encode online.
Ook! to text
7、告诉你个秘密
636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A5769426961453067
16进制数据,转为字符串
要将该十六进制数据转换为字符串,我们需要确保这个十六进制数据实际上代表了一系列有效的字符编码(如ASCII、UTF-8等)。对于大多数情况,十六进制字符串可能表示一系列ASCII字符的编码。
转换十六进制到字符串的步骤如下:
- 将十六进制字符串分成每两个字符一组,因为每个ASCII字符通常由两个十六进制数字表示。
- 将每两个十六进制数字转换为一个字节(8位)。
- 将这些字节解释为ASCII字符。
得cjV5RyBscDlJIEJqTSB0RmhCVDZ1aCB5N2lKIFFzWiBiaE0g
为base64编码,解密得r5yG lp9I BjM tFhBT6uh y7iJ QsZ bhM
在键盘上找到被包围起来的字母,组成密码
密码需要大写 得到flag
8、贝斯家族
贝斯---base
Base91编码由91个字符(0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}~”)组成,不包含破折号(-)、反斜杠(\)和撇号(')。这些字符足够用于表示ASCII编码的二进制数据。
工具: basecrack
地址:https://github.com/mufeedvh/basecrack.git
9、你喜欢下棋吗
思路:
- 由提示和解压密码格式可得为棋盘密码
- 棋盘密码格式为两个数字为一组,范围为1-5,在棋盘上以横纵坐标的形式表示一个字母,5*5=25,i和j公用一个位置
- 5bit的博多电码
密码表为1-5的棋盘:
密码表为ADFGX的棋盘:
棋盘密码工具:棋盘密码在线加密解密 - 千千秀字
博多电码工具:Baudot Code, Baudot-Murray Code (online tool) | Boxentriq
10、easy_crypto
观察这一串数组,发现每一组都是由0和1组成,且长短不一。这时,可以考虑是否是莫尔斯电码加密
from __future__ import print_function
a = input("input the string:")
s = a.split(" ")
dict = {'01': 'A',
'1000': 'B',
'1010': 'C',
'100':'D',
'0':'E',
'0010':'F',
'110': 'G',
'0000': 'H',
'00': 'I',
'0111':'J',
'101': 'K',
'0100': 'L',
'11': 'M',
'10': 'N',
'111': 'O',
'0110': 'P',
'1101': 'Q',
'010': 'R',
'000': 'S',
'1': 'T',
'001': 'U',
'0001': 'V',
'011': 'W',
'1001': 'X',
'1011': 'Y',
'1100': 'Z',
'01111': '1',
'00111': '2',
'00011': '3',
'00001': '4',
'00000': '5',
'10000': '6',
'11000': '7',
'11100': '8',
'11110': '9',
'11111': '0',
'001100': '?',
'10010': '/',
'101101': '()',
'100001': '-',
'010101': '.',
'110011':',',
'011010':'@',
'111000':':',
'101010':':',
'10001':'=',
'011110':"'",
'101011':'!',
'001101':'_',
'010010':'"',
'10110':'(',
'1111011':'{',
'1111101':'}'
};
for item in s:
print (dict[item],end='')