[BUUCTF]REVERSE------[GXYCTF2019]luck_guy

[GXYCTF2019]luck_guy

用64位IDA打开,shift+f12查看,看到it’s flag,进去查看
在这里插入图片描述
看到了一个switch语句,case 1时,输出flag,在这里可以看出flag是由f1和f2拼接而成的。
在这里插入图片描述
看一下f1和f2的内容,f1=GXY{do_not_ ,f2里面没有东西。
在这里插入图片描述
再到主函数里寻找,在下面看到了对f2进行了赋值,所以f2=0x7F666F6067756369LL
在这里插入图片描述
看了f1的样式,f2的内容显然是要再处理一下的,case5对f2进行了处理,一共处理了8次,这对f2的长度来说是不符合的,f2共有16位,所以猜测应该是两位一次。
在这里插入图片描述
尝试一下,但是看起来不是很对劲
在这里插入图片描述
又查找了下,原来是存在小端序,那就要再进行一下逆序。
在这里插入图片描述
得到flag flag{do_not_hate_me}

猜你喜欢

转载自blog.csdn.net/BangSen1/article/details/113346590