re-CTF_Fish

发布时间 2023-12-12 05:14:32作者: wakappxc

1.逻辑分析

 这是什么加密  不知道0.0 看看findcrypt插件

 发现是这种加密方式 和题目名字相对应

 而这里数组[4]中存储着我们的key

 也就是这个

后面我们发现是Blowfish ECB加密算法

接下来我们是可以写脚本了

2.开始解密

 先用C++得出第一步的数据

后面不写了 待研究

这是python代码

from Crypto.Cipher import Blowfish
import codecs
enc = codecs.decode("2C0852FACA1A757CAF334506FA75BBBEE04D1DA64D7CA715EDC904E0475877B9FE236279AACCFF5074A852DABAED987F", 'hex_codec')
key = "C_Object"
temp = []
for ch in enc:
    if (ch - 44) >= 0:
        temp.append((ch-44)^0x33)
    else:
         temp.append((ch + 256 - 44)^0x33)
buffer = temp
bf = Blowfish.new(key.encode('utf-8'), Blowfish.MODE_ECB)
flag = bf.decrypt(bytes(buffer))
print("%s" % flag)