BUUCTF Reverse 新年快乐

下载文件先查壳,可以看到有UPX壳
BUUCTF Reverse 新年快乐_第1张图片

用upx脱壳

BUUCTF Reverse 新年快乐_第2张图片

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

BUUCTF Reverse 新年快乐_第3张图片

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

BUUCTF Reverse 新年快乐_第4张图片

main函数伪代码

BUUCTF Reverse 新年快乐_第5张图片

关键函数:

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 新年快乐_第6张图片

你可能感兴趣的:(安全,ctf,安全,逆向,逆向工程,信息安全)