首页 > 其他分享 >BUUCTF 新年快乐

BUUCTF 新年快乐

时间:2023-01-13 00:22:05浏览次数:70  
标签:__ 新年快乐 BUUCTF Str2 Str1 char flag result

这题主要考查查壳与去壳
首先用 Die 查看文件信息
img
可以看到文件是32位的且有一个UPX壳,那接下来就是脱壳操作
img
放入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!}
另外我们也可以手动脱壳
这篇博文写的很详细

标签:__,新年快乐,BUUCTF,Str2,Str1,char,flag,result
From: https://www.cnblogs.com/Tree-24/p/17048344.html

相关文章