iDA载入程序,shift+F12查看关键字符串,找到双击来到所在地址,进入函数
然后进入主函数,
经过分析,可以得出:输入的字符要等于 经过处理的v7和v8的异或。v8很明显,但是v7是怎么回事呢,新手没有遇到过,所以上网查看资料,LL是长长整型,v7要转换为16进制然后在转换为字符串,而且字符是小端序,所以把得到的字符翻转然后和v8的每一位进行异或。贴出脚本:
a = 'harambe'
b = ':\"AL_RT^L*.?+6/46'
print(b)
tmp = ''
for i in range(len(b)):
c = ord(a[i % 7]) ^ ord(b[i])
tmp += chr(c)
print(tmp)