1. 程式人生 > 實用技巧 >BUU-findKey

BUU-findKey

yo又是一道呼叫API進行字串hash的題目https://www.cnblogs.com/lxy8584099/p/13596323.html

這裡sub_40101E執行的hash函式的是md5

之後sub_401005是一個簡單的異或函式

流程大概是 對string1進行md5加密 和 v18與v14異或後對值 進行對比 這裡可以查表得知string1 == '123321'

然後string1和unk_423030異或 得到flag

s = '0kk`d1a`55k222k2a776jbfgd`06cjjb'
a = []
b = 'SS'
for i in range(len(s)):
    a.append(ord(s[i]))
for i in range(len(a)): a[i] ^= ord(b[i%len(b)]) flag = '' for i in range(len(a)): flag += chr(a[i]) print flag s1 = '123321' a = [] f = open('so.in') for i in range(2): s = f.readline() for j in range(16): a.append(int(s[j*3:j*3+2],16)) print a for i in range(len(a)): a[i]
^= ord(s1[i%len(s1)]) flag = '' for i in range(len(a)): flag += chr(a[i]) print flag
View Code

so.in檔案

57 5E 52 54 49 5F 01 6D 69 46 02 6E 5F 02 6C 57
5B 54 4C 00 00 00 00 00 53 53 00 00 30 6B 6B 60
View Code