BUUCTF 新年快乐 RE
这题主要考查查壳与去壳
首先用 Die 查看文件信息
可以看到文件是32位的且有一个UPX壳,那接下来就是脱壳操作
放入ida反编译得到main函数伪代码
int __cdecl main(int argc, const char **argv, const char **envp)
{
int result; // eax
char Str2[14]; // [esp+12h] [ebp-3Ah] BYREF
__int16 Str1; // [esp+20h] [ebp-2Ch] BYREF
_BYTE v6[30]; // [esp+22h] [ebp-2Ah] BYREF
__main();
strcpy(Str2, "HappyNewYear!");
Str1 = 0;
memset(v6, 0, sizeof(v6));
printf("please input the true flag:");
scanf("%s", &Str1);
if ( !strncmp((const char *)&Str1, Str2, strlen(Str2)) )
result = puts("this is true flag!");
else
result = puts("wrong!");
return result;
}
简单阅读可知flag即为
flag{HappyNewYear!}
另外我们也可以手动脱壳
这篇博文写的很详细
本文来自博客园,作者:{Tree_24},转载请注明原文链接:{https://www.cnblogs.com/Tree-24/}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南