我们首先用winrar打开压缩包,发现了如下提示,估计是要自己创建一个破解压缩包的字典,通过对字母或数字进行base64加密,base85加密,base91加密,然后连接三种加密后的字符串,写在字典里,然后利用ARCHPR选择字典模式破解。
xuenixiang_2020_re_Reverse7
我们写了如下脚本:
xuenixiang_2020_re_Reverse7
import base64
import base91
a=''
b=''
c=''
d=''
with open('zidian.txt', 'w') as f:
for i in range(0,9999):
a=base64.b64encode(str(i).encode('utf-8'))
a=str(a)
a=a[2:-1]
b=base64.b85encode(str(i).encode("utf-8"))
b=str(b)
b=b[2:-1]
c=base91.encode(str(i).encode("utf-8"))
d=str(a)+str(b)+str(c)
f.write(d+"\r\n")
#print(d)
我们猜测它是数字不超过四位,所以形成如上脚本,但是需要注意的是,似乎python2.X是没有base85加密解密方法的,所以需要升级到python3以上,但是还需要base91,于是我们上GitHub下载了别人的base91.py来导入使用。如下为生成的爆破字典。
xuenixiang_2020_re_Reverse7
接下来使用ARCHPR字典模式来爆破,将压缩包拖入软件,字典文件选择自己生成的txt。
xuenixiang_2020_re_Reverse7
我们得到了口令,很明显如果直接暴力破解不知道得多久。
NjAwOA==HZU+a3tVEO
我们得到一个名为题目.bin的文件,直接用记事本打开发现了它是010edit以16进制导出的base64形式的文件,所以我们可以直接用010导入。
xuenixiang_2020_re_Reverse7
我们导入之后可以看出是正常的exe文件,但是我们需要将它导出为exe,最后少了四个0也要补上。
得到一个vb程序,如下:
xuenixiang_2020_re_Reverse7
我们根据提示知道只要计算出一道3位数+3位数就可以得到flag,然而我们实际操作之后,发现速度根本来不及,它有计时,超过时间就失败,而且更坑的是只让你输入两位数,这样永远对不了。所以我们直接上IDA.
但是对于VB,ida看不到伪代码,所以我们直接看汇编,找到出flag处。
xuenixiang_2020_re_Reverse7
xuenixiang_2020_re_Reverse7
很明显这题跟异或加密有关。写得解FLAG的python代码,如下:
a='fpceyvb3qgcq;sus'
k=0
y=''
for i in a:
y=y+chr((((ord(i)-1)^5))^6)
print(y)
得到flag为:flag{vb1seas9qwq}
|