re1:easyre
1.下载附件并查壳
64位exe
2.ida64打开并查看字符
找到**“答案”**
flag{this_Is_a_EaSyRe}
re2:reverse1
1.下载附件并查壳
64位,无壳
2.用ida64打开,查看字符
找到关键字符,跟进并查看伪c代码
发现
跟进str[2]
{hello_world}
把o换成0
得到结果
flag{hell0_w0rld}
re3:reverse2
1.下载附件并查壳
64位,无壳
2.用ida64打开并查看字符
找到关键字符,跟进并查看伪c代码
这题和re2类型一样
跟进flag得到hacking_for_fun}
所以
flag{hack1ng_fo1_fun}
re4:内涵的软件
1.下载附件并查壳
32位,无壳
2.用ida32打开,并查看字符
DBAPP{49d3c93df25caad81232130f3d2ebfad}
这段字符类似flag
改成题目要求的形式
flag{49d3c93df25caad81232130f3d2ebfad}
答案正确
re5:新年快乐
1.下载附件并查壳
发现upx壳
2.脱壳
3.用ida32打开,并查看字符
找到关键字符并跟进,查看伪c代码
所以
flag{HappyNewYear!}
re6:xor
1.下载附件并查壳
64位,无壳
2.用ida64打开并查看字符
找到关键字符,跟进并查看伪c代码
v6为33位
再经过
得到v3=global
跟进global
再跟进
脚本如下:
g=['f',0xA,'k',0xC,'w','&','O','.','@',0x11,'x',0xD,'Z',';','U',0x11,'p',0x19,'F',0x1F,
'v','"','M','#','D',0xE,'g',6,'h',0xF,'G','2','O']
flag='f'
for i in range(1,len(g)):
if(isinstance(g[i],int)):
g[i]=chr(g[i])
for i in range(1,len(g)):
flag+=chr(ord(g[i])^ord(g[i-1]))
print(flag)
运行得
flag{QianQiuWanDai_YiTongJiangHu}
总结:
1.isinstance()函数,判断数据类型
2.找到关键字符,精准分析。