ACTF新生赛_2020_easyre
1.用PEiD查看文件
发现文件加壳
2.用UPX脱壳
是32位的pe程序,再次用PEiD查看,脱壳成功
3.IDA分析
![image-20221124213653788](https://i-blog.csdnimg.cn/blog_migrate/dc549e041a439922267582433a90192f.png)
发现要求输入的字符串的格式为"ACTF{}",中间存放flag
_data_start__为
7Eh’}|{zyxwvutsrqponmlkjihgfedcba`_^][ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(‘,27h,’&%$# !"’
7eh为“~” , 27h为“ ‘ ”符号 ,需要用到转义符即为“ \ '”
‘~}|{zyxwvutsrqponmlkjihgfedcba`_^][ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(’&%$# !"’
if语句是将v4字符串与_data_start__字符串进行比较
4.编写脚本
编写python脚本:
data = '~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(\'&%$# !"'
v4 = "*F'\"N,\"(I?+@"
flag = ''
for i in v4:
flag+=chr(data.find(i)+1)
print(flag)
得到flag:
U9X_1S_W6@T?
print(flag)
得到flag:
> U9X_1S_W6@T?