BUUCTF Reverse 新年快乐

下载文件先查壳,可以看到有UPX壳
在这里插入图片描述

用upx脱壳

在这里插入图片描述

拖到ida pro32,shift+F12查看字符串,看到关键字flag,双击进去

在这里插入图片描述

双击然后f5查看伪代码
在这里插入图片描述

在这里插入图片描述

main函数伪代码

在这里插入图片描述

关键函数:

strncmp(const char *str1, const char *str2, size_t n)

比较前n个字节的str1和str2的ASCII值,如果相同则返回0

所以下面这行代码意思就是如果Str1=Str2,那么就为真,即Str1就是flag。

if ( !strncmp((const char *)&Str1, Str2, strlen(Str2)) )

Str1=HappyNewYear!,所以flag应该为:flag{HappyNewYear!}

在这里插入图片描述

posted @ 2023-10-29 21:53  CVE-柠檬i  阅读(10)  评论(0编辑  收藏  举报  来源