比賽時沒看出來,就去做其他的了~ 參考其他隊伍的wp自己整理了一下
看下邏輯华匾,首先判斷前綴是CISCN{
映琳,長度32
后面以兩個_
為界把輸入分成兩部分
后面是三個函數(shù),進第一個
里面發(fā)現(xiàn)這個
不清楚蜘拉,看下一個
原來是自己和自己異或刊头,
這就很清楚了,是md5初始化向量
看后面
函數(shù)可逆诸尽,也不復雜
cipher1 = "10233622J984933H678N95F769010595"
get1=[]
for i in xrange(len(cipher1)):
if ord(cipher1[i])<=0x39:
get1.append(cipher1[i])
else:
get1.append(chr(ord(cipher1[i])-i%10))
cipher2 =''.join(get1)
print cipher2
#jimy
得到32位md5,可查
第二個函數(shù)類似印颤,只是多了個xor
直接拿上面結果
a=0xC9CA0A6BF5534F142F29B64542099CF1 ^ 0x10233622B984933C678E95D769010595
print hex(a)
#ct6y
md5同樣可查
第三個函數(shù)也類似您机,但是md5不可查
后面發(fā)現(xiàn)在寫文件,dump出來
先拿106c去異或發(fā)現(xiàn)文件頭像jpg 改為116d異或
成功獲得jpg
組合獲得flag