0%

2020 易林博“停课不停赛,以赛促学” angr2_2

没有任何保护,IDA打开定位main函数,一键F5。
对main进行分析,找到程序逻辑:输入一字符加密判断是否等于”ZCPTMWEHULCABSBD“。
找到加密的算法,对算法进行逆向。得到关键信息,输入的字符串都为小写字母。
用脚本对加密后的字符串”ZCPTMWEHULCABSBD“进行逆运算,结合限制条件小写字母得到flag。

1
2
3
4
5
6
7
8
9
10
11
12
//python脚本
s=['Z','C','P','T','M','W','E','H','V','L','C','A','B','S','B','D']
v3=0
v5=len(s)
l=''
for i in range(0,v5):
a=18-i
c=ord(s[i])-29*a
while((c<=64)|(c>90)):
c+=26
k+=chr(c)
print(k)