2021_SWPUCTF_Traditional

Tags:替换解码

0x01. 题目

西方的二进制数学的发明者莱布尼茨,从中国的八卦图当中受到启发,演绎并推论出了数学矩阵,最后创造的二进制数学。二进制数学的诞生为计算机的发明奠定了理论基础。而计算机现在改变了我们整个世界,改变了我们生活,而他的源头却是来自于八卦图。现在,给你一组由八卦图方位组成的密文,你能破解出其中的含义吗?

震坤艮 震艮震 坤巽坤 坤巽震 震巽兑 震艮震 震离艮 震离艮

格式:CTF{}

0x02. WP

按照八卦图的长短横对应进行二进制替换,最后进行解码

strListA = {"乾": "111", "兑": "110", "离": "101", "震": "100", "巽": "011", "坎": "010", "艮": "001", "坤": "000"}
strListB = {"乾": "111", "兑": "011", "离": "101", "震": "001", "巽": "110", "坎": "010", "艮": "100", "坤": "000"}
sCipher = "震坤艮 震艮震 坤巽坤 坤巽震 震巽兑 震艮震 震离艮 震离艮"


def decode(strList):
    flag = ""
    for t in (sCipher.split(" ")):
        tFlag = ""
        iBIN = ""
        for c in t:
            iBIN += strList[c]
        flag += chr(int(iBIN, 2))
    print(strList)
    print(flag)
    
decode(strListA)
decode(strListB)

# 输出
# {'乾': '111', '兑': '110', '离': '101', '震': '100', '巽': '011', '坎': '010', '艮': '001', '坤': '000'}
# āČĞČĩĩ
# {'乾': '111', '兑': '011', '离': '101', '震': '001', '巽': '110', '坎': '010', '艮': '100', '坤': '000'}
# Da01sall
posted @ 2025-08-24 10:52  JasonJHu  阅读(12)  评论(0)    收藏  举报