DDCTF_2019_re_Reverse1
Windows Reverse1通过DIE查壳发现存在upx,在linux上upx -d脱壳即可,拖入IDA,通过关键字符串找到关键函数:main函数中也没有什么,将输入的字符串带到sub_401000函数去处理,之后和处理过后的字符串和正确字符串进行比较,若一致则是正确flag跟进sub_401000,首先计算了输出字符串的长度,然后根据每一个字符的ascii码再加上一个常量作为地址,取里面的值,循环,每一位都是这样
在main函数中我们知道正确的字符串,那么我们就可以反推处flagexp:
1
2
3
4
5
data =
flag = ""
for x in range(len(data)):
flag+=chr(data-0x402ff8)
print "DDCTF{"+flag+"}"
flag:DDCTF{ZZ
页:
[1]