本文主要是介绍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!}
这篇关于BUUCTF Reverse 新年快乐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!