dmctf2020 write up for re1

(这题有漏洞(x

惯例的拖入IDA进行分析,推测这个函数应当是读取输入的函数

最讨厌win逆向啦!

image.png

目标字符串位于栈上,测试了一下很明显有个栈溢出

image.png

但是这不是一道winpwn而是一道re,应该先做点正事…

程序逻辑比较简单,我们先跟进sub_485D1A()函数,该函数的作用是验证flag长度是否为20

image.png

那么sub_4849EC()就应当是验证flag内容的函数,跟进

image.png

加密后的flag为fmesh{umkc_vlrn_glh},在这里对flag的加密逻辑也比较简单,直接把脚本写出来,如下:

1
2
3
4
5
6
7
8
9
10
11
12
enc = "fmesh{umkc_vlrn_glh}"
flag = ''
for i in enc:
j = ord(i) + 1
if j < ord('a') or j > ord('l'):
if j > ord('n') and j <= ord('z'):
flag += chr(j)
else:
flag += i
continue
flag += chr(ord(i) - 2)
print(flag)

得到flag:

1
dmctf{vmia_wlso_elf}

但是题目本身算法存在问题,所以这个仅仅是一解…(不管了啦!暴捶出题人!

Posted on

2020-12-09

Updated on

2021-02-26

Licensed under

Comments

:D 一言句子获取中...

Loading...Wait a Minute!