文件属性
64位exe无壳
静态分析
输入+初始化+判断长度
sub_7FF7DA6C2B60
函数将输入内容赋给Src,长度赋给Size
并判断输入内容长度是否为38
将Src进行异或加密,每四个一组
将加密结果与Buf2比较
Buf2在静态分析中未知,需要动态分析
动态分析
在反汇编界面buf2给v12赋值时下断点
输入十三个字符
点击buf2再次点击地址就会出现
使用 shift + e 获得数据
EXP
key=[10, 11, 125, 47, 127, 103, 101, 48, 99, 96,
55, 63, 60, 63, 51, 58, 60, 59, 53, 60,
62, 108, 100, 49, 100, 108, 59, 104, 97, 98,
101, 54, 51, 96, 98, 54, 28, 125, 0]
i=37
while i>2:
key[i-1]=key[i-1]^key[i]
key[i-2]=key[i-2]^key[i-1]
key[i-3]=key[i-3]^key[i-2]
i=i-1
flag=""
for j in range(len(key)):
flag+=chr(key[j])
print(flag)