buuctf刷题记录9 [BJDCTF2020]BJD hamburger competition

打开看是一整个程序,刚开始感觉和那个坦克大战有点像(小憨包笑死)

怀疑是根据选择不同的材料来达到某种条件然后输出flag

先找到c#的资源文件buuctf刷题记录9 [BJDCTF2020]BJD hamburger competition_第1张图片

buuctf刷题记录9 [BJDCTF2020]BJD hamburger competition_第2张图片

dnspy打开

点开以后

buuctf刷题记录9 [BJDCTF2020]BJD hamburger competition_第3张图片

buuctf刷题记录9 [BJDCTF2020]BJD hamburger competition_第4张图片

果然是根据根据点击材料来控制是否输出flag,但是直接看最后几段代码,发现flag先sha1加密进行判断,再输出时md5加密

根据他的数据可以反推出str,进而求解flag

buuctf刷题记录9 [BJDCTF2020]BJD hamburger competition_第5张图片

str为1001,md5加密

buuctf刷题记录9 [BJDCTF2020]BJD hamburger competition_第6张图片

都试了一遍以后发现都不对,再看看代码

buuctf刷题记录9 [BJDCTF2020]BJD hamburger competition_第7张图片

他这个md5加密是取得前20个字母,Substring是截取字符串,Tostring(“X2”)是变成大写,对应的Tostring(“x2”)是变小写

所以肯定是32位,flag为 flag{B8C37E33DEFDE51CF91E}

你可能感兴趣的:(ctf,逆向)