1.下载oursecret
2.用oursecret解密图片文件。
密码是0405111218192526
注意双击try.zip,
发现文件需要解密,而且有注释你知道coffee的生日是多少吗?由此知道密码都是由数字组成的,而且生日一般是8位,所以据此进行暴力破解
由此得到密码
try.zip解密后解压
根据提示,爆破flag.zip,发现
使用好压将readme.txt压缩后。发现压缩后的readme.txt和flag.rar里的readme.txt的CRC32的值相同,则说明是明文攻击
有时候点击开始的时候会出现以下内容,那是因为不同的压缩软件使用的压缩算法不同,后面压缩的那个压缩包需要同题目给的压缩包的压缩算法一直才能进行明文攻击。此时需要更换一个压缩软件进行压缩。(常见压缩软件:好压、winRAR、7z、快压、360压缩)。
下载winrar
将readme.txt用winrar压缩成.zip文件
然后用archpr进行明文攻击
然后用口令解压文件后
发现flag.zip仍是加密的,用winhex打开,将01修改成00
修改后发现不能保存,所以就复制新建另一件文件,注意文件的尺寸要和原来相同,然后就能把文件打开了。
经栅栏解密得
栅栏解密的代码
def zhalan(e):
elen = len(e)
field = []
for i in range(2, elen):
if (elen % i == 0):
field.append(i)
for f in field:
b = elen // f
result = {x: '' for x in range(b)}
for i in range(elen):
a = i % b;
result.update({a: result[a] + e[i]})
d = ''
for i in range(b):
d = d + result[i]
print(d)
d.lower()
if __name__ == '__main__':
e = 'qddpqwnpcplen%prqwn_{_zz*d@gq}'
zhalan(e)
凯撒解密
def change(c,i):
c = c.lower()
num = ord(c)
if num >= 97 and num <= 122:
num = 97 + ((num - 97) + i) % 26
return chr(num)
def kaisa_jiami(string,i):
string_new = ''
for s in string:
string_new += change(s,i)
print(string_new)
return string_new
def kaisa_jiemi(string):
for i in range(25):
print('\n', i, '\n')
i += 1
kaisa_jiami(string,i)
def main():
print('请选择需要的操作:')
print('1:凯撒加密')
print('2:凯撒解密')
choice = input()
if choice == '1':
string = input('请输入需要加密的字符串:')
num = int(input('请输入需要偏移的位数:'))
kaisa_jiami(string,num)
elif choice == '2':
string = input('请输入需要解密的字符串:')
kaisa_jiemi(string)
else:
print('输入错误,请重试!')
main()
if __name__ == '__main__':
main()
得到flag