首先这题真的在bugku上,我是迷了好久因为格式是XMAN{*}我一直以flag提交难怪不成功
下面用python写了个脚本按照源码的逻辑写的
import time
coretu = [23,22,26,26,25,25,25,26,27,28,30,30,29,30,32,32]
print('XMAN{',end='')
for indexnum,i in enumerate(coretu):
keynum =33
while 1:
nowb = (keynum+i)%61
sss = chr(abs(((nowb*2)-indexnum)))
#time.sleep(0.1)
#print chr(keynum)
if sss == chr(keynum%128):
print(sss,end='')
break
else:
keynum+=1
print('}',end='')
可以直接跑出结果,按照下图思路写的
为什么是这段,因为从入口函数我们可以看到调用了这段代码做check
其实骚一点就直接用java在线工具算就行,复制过去稍微改动下加个for循环就行