奇奇怪怪的密码
本文偏向于科普丰富知识面,带有一定的misc成分,比较基础
更新记录
2022-11-05
将之前学过的一些密码和编码进行整理
2022-12-25
又经过了一段时间学习,准备再进行一次整合更新
2023-01-09
学习了CTFwiki上几种没见过的密码,整理一下
2024-03-30
打了AliyunCTF2024,被 字 这个题给搞了,所以准备整理一下中文相关的编码问题。
编码类
(常见的ASCII码之类的就不介绍了)
base编码
Base编码系列有 Base64 Base32 Base16等等。
我们可以根据其中出现的一些特征来区分不同的base编码:
①所谓的Base16其实就是16进制,我们可以借助print(int(s16,16))将base16转换为10进制以进行其他运算:0-9 A-F
②Base32的特征比较明显:A-Z 2-7 =
比如 cryptoisinteresting 的Base32编码就是MNZHS4DUN5UXG2LOORSXEZLTORUW4ZY=
③Base64算是最为常见,开始出现斜线和加号,同时包括所有大小写字母和数字组合:A-Z a-z 0-9 +/=
如果某题的flag为flag{Is_Crypt0gr4phy_1nterEst!ng?},用base64编码就可以得到ZmxhZ3tJc19DcnlwdDBncjRwaHlfMW50ZXJFc3Qhbmc/fQ==
④除了上述三种常见的base编码,还存在:
base45(0-9A-Z $%*+-./:)
base58(没有0O大写i小写l和+/,后面没有等于号)
base85(!-u奇怪字符多,但是很少等号)
base91(除了 -\‘ 的其他91种字符)
等其他种类编码,做题时如果实在无法确定可以都试一试。
⑤base100编码:指对Emoji表情符号进行编码和解码。
如新生平台web题目组合拳😈中,三层waf破解后的👜👤👘👥👦👥🐥👧👟👧用base100解码可以得到emanon.php。
Quoted-printable编码
Quoted-printable编码又叫可打印字符引用编码,由等号后跟两个十六进制数字表示字节数值组成。
如密文:=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6
在线解码:Quoted-printable编码|Quoted-printable解码|Quoted-printable编码原理介绍
解码:那你也很棒哦
Url编码
URL编码使用 “%” 其后跟随两位的十六进制数来替换非 ASCII 字符,所以如果看到出现大量的百分号形式不妨尝试用url解码。
Unicode编码
Unicode编码有多种种类:
原文本:hello
四种编码方式:
\&#x 十六进制:\h\e\l\l\o
\&# 十进制:\h\e\l\l\o
\U 十六进制:\U0068\U0065\U006C\U006C\U006F
\U+ 十六进制:\U+0068\U+0065\U+006C\U+006C\U+006F
Uuencode
Uuencode是二进制信息和文字信息之间的转换编码,也就是机器和人眼识读的转换。Uuencode编码方案常见于电子邮件信息的传输,目前已被多用途互联网邮件扩展(MIME)大量取代。
Uuencode加密后的数据结果都为可打印字符,例如:73E-30U1&>V-H965S95]I<U]P;W=E<GT`
解密得到:NSSCTF{cheese_is_power}
中文相关
GB2312字符集,国家标准字符集。
GBK字符集,国家标准扩展字符集。
康熙部首映射:
1 | 2F00 ; 4E00 # KANGXI RADICAL ONE |
1 | unicode = open('unicode.txt', 'r').readlines() |
密码类
这部分的密码包含部分的常见密码和古典密码
摩斯密码
摩斯密码(摩尔斯电码)只有01或.-,会有空格或/做分隔符。
为了方便,可以直接使用cyberchef的摩斯密码加解密,好处是可以任意切换密码表现形式和分隔符种类。
凯撒密码
过于简单,不多说了,这里提供一个之前写的通用的爆破脚本:
1 | book="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" |
不同的题目的凯撒加密方式可能会有所不同,可以根据实际情况做适当的调整。例如下面这道来自ctfshow的题:
1 | from string import ascii_lowercase |
看完代码,大概就能知道怎么一回事了。
我们平常的凯撒密码都是按照字母表进行的排序,这里他将加密字母表进行打乱,我们需要利用他给的打乱的字母表来爆破出明文。
其实还是一样的,稍微改改之前的脚本就行,而且也没有大写字母,操作起来也比较方便:
1 | book=['h', 'g', 'u', 'p', 'o', 'v', 'n', 'b', 'i', 'j', 'y', 'k', 'a', 'z', 'w', 'q', 't', 'l', 'r', 'd', 'x', 'e', 's', 'm', 'c', 'f'] |
变异凯撒密码
这种比起正常的凯撒密码来讲,进行的是ASCII码的偏移,如:
str="afZ_r9VYfScOeO_UL^RWUc"
根据和flag的ASCII值比较,可以发现第一个字符偏移量为5,第二个偏移量为6,第三个为7……每个向后位移的位数是前一个加1。
根据这一点我们也可以写出脚本解密:
1 | str="afZ_r9VYfScOeO_UL^RWUc" |
移位密码
与凯撒密码类似,区别在于移位密码不仅会处理字母,还会处理数字和特殊字符,常用 ASCII 码表进行移位。
ROT偏移密码
这可以看作是凯撒密码的一种变式。
rot5只加密数字,rot13只对字母进行加密,rot18就是将上述两种加密方式结合,分别对数字字母都进行加密,rot47能对ASCII码(33-126)进行加密。
反转加密
顾名思义,就是把一段内容完全颠倒进行加密。
又是一道来自ctfshow的题目:=0XezFWZfNXafRjNlNXYit3dvh2cmR3Y
这行编码一看就是base64,但是试了一下并不行。注意到等于号放在了最前面,考虑是发生了反转加密,先反转回来然后base64解密就可以了:
1 | import base64 |
培根密码
加密时,明文中的每个字母都会转换成一组五个英文字母,转换格式如下表:
例题:
ABBABAABBAAAAABABABAABABBAAAAABAABBAAABAABBBABBAABABBABABAAABABBBAABAABABABBBAABBABAA(字符串大写提交)
培根密码解密网站:在线培根密码解密
这里我写了一个python程序解密培根密码:
1 | book1=['aaaaa','aaaab','aaaba','aaabb','aabaa','aabab','aabba','aabbb','abaaa','abaab','ababa','ababb','abbaa','abbab','abbba','abbbb','baaaa','baaab','baaba','baabb','babaa','babab','babba','babbb','bbaaa','bbaab'] |
解密得到:ngbklatcoznixevzu
根据题目提示,本题还存在凯撒密码加密,最终得到key=20时,得到:havefunwithcrypto,用大写提交flag。
栅栏密码
这是移动字符位置来实现加密的方法,加密方法大致如下:
我们让一串字符串为 cryptoisgood,以key=2的方式进行加密:
按照key分组,分成crypto和isgood两组。
竖着列开每组分别取字重新组合,加密得到cirsygpotood
如果key=3时,分成cryp tois good三组。
竖着列开每组分别取字重新组合,加密得到ctgrooyiopsd
当题目中出现乱序的字母和{}甚至是 _ 和数字时都可以尝试栅栏密码。
例题:
felhaagv{ewtehtehfilnakgw}
一眼栅栏密码,栅栏密码解密网站:栅栏密码在线加密
放进去key=2时直接得到flag。
单表替换密码
单表替换中的密文和明文的字母之间的转换关系一一对应,但是我们不能立马知道哪个字母对应哪个字母,通过考虑词频分析(每个字母出现的频率)和单词检测(检测一串字母连起来是否是一个单词)可以还原密钥进而还原明文。
据统计,占比最高的英文字母前三位为ETA,但是这不一定和词频能一一对应,不过这个结论会随着篇幅的增长变得明显
为了节省时间,我们可以使用quipquip词频分析来进行解密:quipqiup词频分析
键盘密码
这种密码和键盘上字母所在的位置一一对应,用一个围起来的圈指代圈中间的那个键,每个围起来的圈之间通常会有明显的间隔,比如空格。
如:r5yG lp9I BjM tFhB T6uh y7iJ QsZ bhM
我们可以在键盘上找到每组字母数字代表的位置,很容易发现他们围起了一个圈,中间的键就是得到的密文:tongyuan
曲路密码
曲路密码为一种换位密码,双方需要事先约定密钥(路径),如果明文为:
The quick brown fox jumps over the lazy dog
三十五个字母,我们填入五行七列的表格:
按照约定好的加密路线进行加密:
得到密文:gesfc inpho dtmwu qoury zejre hbxva lookT
维吉尼亚密码
维吉尼亚密码(Vigenere)是使用一系列凯撒密码组成密码字母表的加密算法。
维吉尼亚密码含有密钥,加密或者解密首先填充密钥长度使其和明文长度一样,一一对应查表,得到相应的密文和明文:(横轴为明文,纵轴为密钥,棋盘内为得到的密文。)
明文:come greatwall
密钥:crypto(cryptocryptocrypto……)
密文:efkt zferrltzn
自动密钥密码
与维吉尼亚密码密码类似,但使用不同的方法生成密钥。
明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
关键词:CULTURE
得到密钥:CULTURE THE QUICK BROWN FOX JUMPS OVER THE,以这个为密钥按照维吉尼亚的方式进行加解密。
列移位加密
列移位密码是一种换位密码,通过密钥字母对应关系进行加密:
例如明文为:The quick brown fox jumps over the lazy dog,密钥为:how are u
明文35个字母,先填入五行七列表格,如果明文不能填充完表格可以约定使用某个字母进行填充:
将密钥字母对应列数,按照字母表先后顺序编号,字母在前的先写出列:
这里我们先写出a列,后写e列,以此类推得到密文:qoury inpho Tkool hbxva uwmtd cfseg erjez
转轮机加密
托马斯·杰斐逊:美国第三任总统,提出了一种叫“转轮机加密”的加密方式,这种加密方式在二战时期被广泛运用。
由三串字符串组成,第一部分为加密表,第二部分为密钥,第三部分为密文:
1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE <
2: < KPBELNACZDTRXMJQOYHGVSFUWI <
3: < BDMAIZVRNSJUWFHTEQGYXPLOCK <
4: < RPLNDVHGFCUKTEBSXQYIZMJWAO <
5: < IHFRLABEUOTSGJVDKCPMNZQWXY <
6: < AMKGHIWPNYCJBFZDRUSLOQXVET <
7: < GWTHSPYBXIZULVKMRAFDCEONJQ <
8: < NOZUTWDCVRJLXKISEFAPMYGHBQ <
9: < XPLTDSRFHENYVUBMCQWAOIKZGJ <
10: < UDNAJFBOWTGVRSCZQKELMXYIHP <
11: < MNBVCXZQWERTPOIUYALSKDJFHG <
12: < LVNCMXZPQOWEIURYTASBKJDFHG <
13: < JZQAWSXCDERFVBGTYHNUMKILOP <
密钥为:2,3,7,5,13,12,9,1,8,10,4,11,6
密文为:NFQKSEVOQOFNP
这种加密的含义是,我们先查看密钥和密文,总共13个秘钥和13位密文对应着行数13,比如第一个密钥为2,密文为N,我们需要找到第二行,作为解密出来的第一行:
2: < KPBELNACZDTRXMJQOYHGVSFUWI <
然后需要找到密文对应的N,从N开始,将这串字符串重新排序:
2: < NACZDTRXMJQOYHGVSFUWIKPBEL <
根据这种做法,我们可以将以上所有的字符串都进行重组,得到一个新的表:
< NACZDTRXMJQOYHGVSFUWIKPBEL <
< FHTEQGYXPLOCKBDMAIZVRNSJUW <
< QGWTHSPYBXIZULVKMRAFDCEONJ <
< KCPMNZQWXYIHFRLABEUOTSGJVD <
< SXCDERFVBGTYHNUMKILOPJZQAW <
< EIURYTASBKJDFHGLVNCMXZPQOW <
< VUBMCQWAOIKZGJXPLTDSRFHENY <
< OSFEZWAXJGDLUBVIQHKYPNTCRM <
< QNOZUTWDCVRJLXKISEFAPMYGHB <
< OWTGVRSCZQKELMXYIHPUDNAJFB <
< FCUKTEBSXQYIZMJWAORPLNDVHG <
< NBVCXZQWERTPOIUYALSKDJFHGM <
< PNYCJBFZDRUSLOQXVETAMKGHIW <
接下来,我们需要竖着得到每一列的文本,然后观察哪一列有有用信息,最后找到某一列为fireinthehole。
这种做法,比较费眼睛,而且比较耗时间,于是我决定写一个脚本用来破译这种加密:
1 | text=['NACZDTRXMJQOYHGVSFUWIKPBEL','FHTEQGYXPLOCKBDMAIZVRNSJUW','QGWTHSPYBXIZULVKMRAFDCEONJ','KCPMNZQWXYIHFRLABEUOTSGJVD','SXCDERFVBGTYHNUMKILOPJZQAW','EIURYTASBKJDFHGLVNCMXZPQOW','VUBMCQWAOIKZGJXPLTDSRFHENY','OSFEZWAXJGDLUBVIQHKYPNTCRM','QNOZUTWDCVRJLXKISEFAPMYGHB','OWTGVRSCZQKELMXYIHPUDNAJFB','FCUKTEBSXQYIZMJWAORPLNDVHG','NBVCXZQWERTPOIUYALSKDJFHGM','PNYCJBFZDRUSLOQXVETAMKGHIW'] |
当铺密码
这种密码会给一些汉字,像 田口由中人工大土士王夫井羊壮 之类。
加密方式也很简单,看这个汉字有多少笔画出头(比较抽象,意会一下),就是加密成于数字几,比如:
工 的两横左右两边都出头,就是代表4
由 的一竖上部出头,代表1
口 没有笔画出头,代表0
例题:由田中 由田井 羊夫 由田人 由中人 羊羊 由由王 由田中 由由大 由田工 由由由 由由羊 由中大
写个简单的python脚本:
1 | text="由田中 由田井 羊夫 由田人 由中人 羊羊 由由王 由田中 由由大 由田工 由由由 由由羊 由中大" |
云影密码
这种密码只有01248五个数字,又叫01248密码,其中0用来做间隔。
如某题目:8842101220480224404014224202480122
用0作为分隔:
内容 | 数字 | 字符 |
---|---|---|
88421 | 8+8+4+2+1=23 | W |
122 | 1+2+2=5 | E |
48 | 4+8=12 | L |
2244 | 2+2+4+4=12 | L |
4 | 4 | D |
142242 | 1+4+2+2+4+2=15 | O |
248 | 2+4+8=14 | N |
122 | 1+2+2=5 | E |
得到flag:WELLDONE
希尔密码
原理:先让每个字母转化为字母表对应的数字,将明文转化为 n 维向量,跟一个 n × n 的矩阵相乘,再将得出的结果模 26,得到密文。
注意用作加密的矩阵需要在$Z^n_{26}$可逆,否则无法解码。
如我们有明文:ACT
转化为矩阵:$\begin{bmatrix}0\\2\\19\end{bmatrix}$,我们设置一个密钥:$\begin{bmatrix}6&24&1\\13&16&10\\20&17&15\end{bmatrix}$,加密过程如下:
得到密文:POH
提供一个解码的网站:Practical Cryptography
埃特巴什码
一种代换密码,代换规则为:
密文:abcdefghijklmnopqrstuvwxyz
对应:zyxwvutsrqponmlkjihgfedcba
加密方式比较简单,给出一个解密脚本:
1 | text="uozt{Zgyzhv_xlwv}" |
Playfair密码
playfair密码是一种替换密码。
加密/解密表制作:选取一串英文字母,除去重复出现的字母,将剩下的字母逐个逐个加入 5 × 5 的矩阵内,剩下的空间由未加入的英文字母依 a-z 的顺序加入。
我们如果以playfair example为密钥,生成加密表:
P | L | A | Y | F |
---|---|---|---|---|
I | R | E | X | M |
B | C | D | G | H |
K | N | O | Q | S |
T | U | V | W | Z |
为了能填满25格,将 q 去除,或将 i 和 j 视作同一字。
将要加密的明文分成两个一组。若组内的字母相同,将 X(或 Q)加到该组的第一个字母后,重新分组。若剩下一个字,也加入 X 。
如果要加密文字为:Hide the gold in the tree stump
我们可以分组为:HI DE TH EG OL DI NT HE TR EX ES TU MP
下面在每组字母里,找出两个字母在加密表中的位置。
若两个字母不同行也不同列,在矩阵中找出另外两个字母使这四个字母成为一个的四个角,优先取第一个字母的行字母。
若两个字母同行,取这两个字母右方的字母(若字母在最右方则取最左方的字母)。
若两个字母同列,取这两个字母下方的字母(若字母在最下方则取最上方的字母)。
新找到的两个字母就是原本的两个字母加密的结果,我们加密为:BM OD ZB XD NA BE KU DM UI XM MO UV IF
波利比奥斯方阵
公元前2世纪,一个叫Polybius的希腊人设计了一种将字母编码成符号对的方法,他使用了一个称为Polybius的校验表。
Polybius校验表由一个5行5列的表格组成,网格中包含26个英文字母,其中i和j在同一格中,相应字母用数对表示。
Polybius校验表如下:
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
1 | A | B | C | D | E |
2 | F | G | H | I/J | K |
3 | L | M | N | O | P |
4 | Q | R | S | T | U |
5 | V | W | X | Y | Z |
例如如果我们要表示字母R,我们可以表示成(4,2),密文就转化成了42。
但是,实际上我们可以任意改变横标和纵标,或者也可以改变图表里面的内容,任意打乱字母。
比如某题题目信息为:
密文:ouauuuoooeeaaiaeauieuooeeiea
hint: VGhlIGxlbmd0aCBvZiB0aGlzIHBsYWludGV4dDogMTQ=
我们把提示进行base64解密,得到The length of this plaintext: 14,可知密文转换后的长度为14,能看到密文长度为28,两个密文对应一个明文。同时,密文只有aeiou五个字母,得知这里使用了Polybius密码。
但是,我们并不知道aeiou的先后顺序,这就导致了这题需要把每一种转化都列出来,由于并没有提供确切的转换表,我们先默认用上面的图表转化方式进行,要不然再打乱图表的结果就太多了,理论上也不可能。
所以,想要破解这道题,我们需要先知道所有aeiou的排列,然后根据每一种排列写出密文对应的明文,这里给一个我根据wp仿写优化的脚本:
使用itertools库的permutations()函数可以产生全排列,可以测试一下
1 | import itertools |
从生成的flag里面找,能找到其中一个为flagispolybius,这就是我们要的结果。
Nihilist
对于Polybius密码,引申出一种nihilist密码,引入关键字,以关键词helloworld为例,构建棋盘矩阵:
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
1 | h | e | l | o | w |
2 | r | d | a | b | c |
3 | f | g | i/j | k | m |
4 | n | p | q | s | t |
5 | u | v | x | y | z |
加密解密还是参照棋盘:
a -> M[2,3] -> 23
45 -> M[4,5] -> t
拓展ASCII码
ASCII码表之后的128个为拓展ASCII码,在这篇文章的结尾整理了拓展ASCII码表,点这里传送。
有的时候我们看到密码中有奇怪的符号,就可以考虑是否是出现了ASCII码偏移导致出现了拓展ASCII码。
例题:沈阳大战
题目所给文件,视频极为抽象,本身无法得到任何信息,提示中提示了本题为ASCII码128偏移。
打开winhex查看,发现隐藏信息:
在我看到这部分 æìáç éó° æìáç 时,第一反应就是flag is flag……,后面的部分应该就是flag的内容,把 æìáçûøéáîçßçåéôáßúèåîççåßèõïß¡¡ßçòáóóßèõå¡¡ý 写入python程序,得到flag:
1 | b='æìáçûøéáîçßçåéôáßúèåîççåßèõïß¡¡ßçòáóóßèõå¡¡ý' |
了解了这种原理后,其实没有提示也一样做。
特殊密码
这一类密码比较杂,使用频率也较少,多出现在misc
核心价值观密码
富强民主文明和谐自由平等公正法治爱国敬业诚信友善
Rabbit密码
Rabbit加密开头部分通常为U2FsdGVkX1,和des加密相似,而且都可以加入密钥。
Ook/Brainfuck密码
Ook密码中有大量ook,加上一些符号:
Brainfuck密码则为一堆符号:
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->— -<]>- -.+++ +++.< ++++[ ->+++ +<]>+ +++.< +++++ +++[- >—— ——< ]>—- ——- —-.< +++++ ++[-> +++++ ++<]> +++.< +++++ +[->- ——- <]>— ——- -.—. ——. —.++ +++++ +.<++ ++++[ ->+++ +++<] >++++ +.++. <++++ ++[-> ——- -<]>- ——- ——. -.<++ +++++ [->++ +++++ <]>+. ——. ++++. <++++ +++[- >—— —-<] >—— .+.<+ +++++ ++[-> +++++ +++<] >++++ +++++ ++.<
直接上网站:Brainfuck/Text/Ook! obfuscator - deobfuscator. Decode and encode online. (bugku.com)(能同时解Ook和Brainfuck密码)
jsfuck密码
JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅仅使用六个不同的字符来编写和执行代码。
分别是:{
}
[
]
+
!
,例如:
1 | [][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(+(!+[]+!+[]+!+[]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]][([][[]]+[])[+!+[]]+(![]+[])[+!+[]]+((+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]+[])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]])+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]])()(([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(![]+[+[]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+([][[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[!+[]+!+[]+[!+[]+!+[]]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[+[]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[!+[]+!+[]+[+[]]]+[!+[]+!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+([][[]]+[])[!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+[]]+[+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[+!+[]]+([][(!![]+[])[!+[]+!+[]+!+[]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()+[])[!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+([][[]]+[])[!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[(![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]]((+((+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]]+[+[]+[+[]]+[+[]]+[+[]]+[+[]]+[+[]]+[+[]]+[+[]]+[+[]]+[+!+[]]])+[])[!+[]+!+[]]+[+!+[]])+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+([+[]]+![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]])[!+[]+!+[]+[+[]]]) |
解密这种密码可以在浏览器使用f12打开控制台,将加密内容粘贴回去即可解密。
此外,还存在一种类似的用颜文字构成的密码,也可以使用f12控制台进行解密。
与佛论禅密码
这种密码会出现以下这种抽象语言:
夜哆悉諳多苦奢陀奢諦冥神哆盧穆皤三侄三即諸諳即冥迦冥隸數顛耶迦奢若吉怯陀諳怖奢智侄諸若奢數菩奢集遠俱老竟寫明奢若梵等盧皤豆蒙密離怯婆皤礙他哆提哆多缽以南哆心曰姪罰蒙呐神。舍切真怯勝呐得俱沙罰娑是怯遠得呐數罰輸哆遠薩得槃漫夢盧皤亦醯呐娑皤瑟輸諳尼摩罰薩冥大倒參夢侄阿心罰等奢大度地冥殿皤沙蘇輸奢恐豆侄得罰提哆伽諳沙楞缽三死怯摩大蘇者數一遮
解密网站:与佛论禅解密
舞动的小人
出自福尔摩斯探案集,跳舞的小人对应英文二十六个字母,小人手中的旗子表明该字母是单词的最后一个字母。如果是一个单词而不是句子,或者是句子中最后的一个单词,则单词中最后一个字母不必举旗。
猪圈密码
猪圈密码是一种以格子为基础的简单替代式密码(亦称朱高密码、共济会暗号、共济会密码或共济会员密码),对照表如下:
解密网站:猪圈密码解密-ME2在线工具
标准银河字母
在Minecraft中的附魔台显示的奇怪的字符就是标准银河字母,直接上对照表:
无线电字母代号
下面是国际航空无线电字母代号表:
字母 | 代号 | 字母 | 代号 | 字母 | 代号 |
---|---|---|---|---|---|
A | Alpha | J | Juliet | S | Sierra |
B | Bravo | K | Kilo | T | Tango |
C | Charlie | L | Lima | U | Uniform |
D | Delta | M | Mike | V | Victor |
E | Echo | N | November | W | Whiskey |
F | Foxtrot | O | Oscar | X | X-ray |
G | Golf | P | Papa | Y | Yankee |
H | Hotel | Q | Quebec | Z | Zulu |
I | India | R | Romeo |
例题alphabet:
题目如下,提示为消除波段:
所给附件是一段音频,内容极其嘈杂,打开audacity:
我们可以看到在频谱图中1000hz的频段被拉满,需要消除这个频段,全选音频使用滤波器,将1000hz附近直接消除,生成音频。
现在可以听清音频中疑似有讲话声,同时能听出来这是一段被倒放的音频,再将它倒回去即可。
现在可以听清音频中的人正在一个一个念字母代号,根据上表逐个破译即可得到flag。
八卦
提瓦特文字
暂时更新到这里,后续会不断完善这篇文章。
拓展ASCII表
控制字符 | |||
---|---|---|---|
128 | 80 | [保留] | |
129 | 81 | [保留] | |
130 | 82 | [保留] | |
131 | 83 | [保留] | |
132 | 84 | IND | 索引 |
133 | 85 | NEL | 下一行 |
134 | 86 | SSA | 被选区域起始 |
135 | 87 | ESA | 被选区域结束 |
136 | 88 | HTS | 水平制表符集 |
137 | 89 | HTJ | 对齐的水平制表符集 |
138 | 8A | VTS | 垂直制表符集 |
139 | 8B | PLD | 部分行向下 |
140 | 8C | PLU | 部分行向上 |
141 | 8D | RI | 反向索引 |
142 | 8E | SS2 | 单移 2 |
143 | 8F | SS3 | 单移 3 |
144 | 90 | DCS | 设备控制字符串 |
145 | 91 | PU1 | 专用 1 |
146 | 92 | PU2 | 专用 2 |
147 | 93 | STS | 设置传输状态 |
148 | 94 | CCH | 取消字符 |
149 | 95 | MW | 消息等待 |
150 | 96 | SPA | 保护区起始 |
151 | 97 | EPA | 保护区结束 |
152 | 98 | [保留] | |
153 | 99 | [保留] | |
154 | 9A | [保留] | |
155 | 9B | CSI | 控制序列引导符 |
156 | 9C | ST | 字符串终止符 |
157 | 9D | OSC | 操作系统命令 |
158 | 9E | PM | 秘密消息 |
159 | 9F | APC | 应用程序 |
其他字符 | |||
160 | A0 | [保留] 2 | |
161 | A1 | ¡ | 反向感叹号 |
162 | A2 | ¢ | 分币符 |
163 | A3 | £ | 英磅符 |
164 | A4 | [保留] 2 | |
165 | A5 | ¥ | 人民币符 |
166 | A6 | [保留] 2 | |
167 | A7 | § | 章节符 |
168 | A8 | ¤ | 通用货币符号 2 |
169 | A9 | © | 版权符号 |
170 | AA | ª | 阴性顺序指示符 |
171 | AB | « | 左角引号 |
172 | AC | [保留] 2 | |
173 | AD | [保留] 2 | |
174 | AE | [保留] 2 | |
175 | AF | [保留] 2 | |
176 | B0 | ° | 温度符 |
177 | B1 | ± | 加/减号 |
178 | B2 | ² | 上标 2 |
179 | B3 | ³ | 上标 3 |
180 | B4 | [保留] 2 | |
181 | B5 | µ | 微符 |
182 | B6 | ¶ | 段落符,pilcrow |
183 | B7 | · | 中点 |
184 | B8 | [保留] 2 | |
185 | B9 | ¹ | 上标 1 |
186 | BA | º | 阳性顺序指示符 |
187 | BB | » | 右角引号 |
188 | BC | ¼ | 分数四分之一 |
189 | BD | ½ | 分数二分之一 |
190 | BE | [保留] 2 | |
191 | BF | ¿ | 反向问号 |
192 | C0 | À | 带重音符的大写字母 A |
193 | C1 | Á | 带尖锐重音的大写字母 A |
194 | C2 | Â | 带音调符号的大写字母 A |
195 | C3 | Ã | 带代字号的大写字母 A |
196 | C4 | Ä | 带元音变音 (分音符号) 的大写字母 A |
197 | C5 | Å | 带铃声的大写字母 A |
198 | C6 | Æ | 大写字母 AE 双重元音 |
199 | C7 | Ç | 带变音符号的大写字母 C |
200 | C8 | È | 带重音符的大写字母 E |
201 | C9 | É | 带尖锐重音的大写字母 E |
202 | CA | Ê | 带音调符号的大写字母 E |
203 | CB | Ë | 带元音变音 (分音符号) 的大写字母 E |
204 | CC | Ì | 带重音符的大写字母 I |
205 | CD | Í | 带尖锐重音的大写字母 I |
206 | CE | Î | 带音调符号的大写字母 I |
207 | CF | Ï | 带元音变音 (分音符号) 的大写字母 I |
208 | D0 | [保留] 2 | |
209 | D1 | Ñ | 带代字号的大写字母 N |
210 | D2 | Ò | 带重音符的大写字母 O |
211 | D3 | Ó | 带尖锐重音的大写字母 O |
212 | D4 | Ô | 带音调符号的大写字母 O |
213 | D5 | Õ | 带代字号的大写字母 O |
214 | D6 | Ö | 带元音变音 (分音符号) 的大写字母 O |
215 | D7 | OE | 大写字母 OE 连字 2 |
216 | D8 | Ø | 带斜杠的大写字母 O |
217 | D9 | Ù | 带重音符的大写字母 U |
218 | DA | Ú | 带尖锐重音的大写字母 U |
219 | DB | Û | 带音调符号的大写字母 U |
220 | DC | Ü | 带元音变音 (分音符号) 的大写字母 U |
221 | DD | Y | 带元音变音 (分音符号) 的大写字母 Y |
222 | DE | [保留] 2 | |
223 | DF | ß | 德语高调小写字母 s |
224 | E0 | à | 带重音符的小写字母 a |
225 | E1 | á | 带尖锐重音的小写字母 a |
226 | E2 | â | 带音调符号的小写字母 a |
227 | E3 | ã | 带代字号的小写字母 a |
228 | E4 | ä | 带元音变音 (分音符号) 的小写字母 a |
229 | E5 | å | 带铃声的小写字母 a |
230 | E6 | æ | 小写字母 ae 双重元音 |
231 | E7 | ç | 带变音符号的小写字母 c |
232 | E8 | è | 带重音符的小写字母 e |
233 | E9 | é | 带尖锐重音的小写字母 e |
234 | EA | ê | 带音调符号的小写字母 e |
235 | EB | ë | 带元音变音 (分音符号) 的小写字母 e |
236 | EC | ì | 带重音符的小写字母 i |
237 | ED | í | 带尖锐重音的小写字母 i |
238 | EE | î | 带音调符号的小写字母 i |
239 | EF | ï | 带元音变音 (分音符号) 的小写字母 i |
240 | F0 | [保留] 2 | |
241 | F1 | ñ | 带代字号的小写字母 n |
242 | F2 | ò | 带重音符的小写字母 o |
243 | F3 | ó | 带尖锐重音的小写字母 o |
244 | F4 | ô | 带音调符号的小写字母 o |
245 | F5 | õ | 带代字号的小写字母 o |
246 | F6 | ö | 带元音变音 (分音符号) 的小写字母 o |
247 | F7 | oe | 小写字母 oe 连字 2 |
248 | F8 | ø | 带斜杠的小写字母 o |
249 | F9 | ù | 带重音符的小写字母 u |
250 | FA | ú | 带尖锐重音的小写字母 u |
251 | FB | û | 带音调符号的小写字母 u |
252 | FC | ü | 带元音变音 (分音符号) 的小写字母 u |
253 | FD | ÿ | 带元音变音 (分音符号) 的小写字母 y 2 |
254 | FE | [保留] 2 | |
255 | FF | [保留] 2 |