首页
社区
课程
招聘
[原创]看雪CTF2019晋级赛Q2第六题《消失的岛屿》解题wp
发表于: 2019-6-14 12:28 3096

[原创]看雪CTF2019晋级赛Q2第六题《消失的岛屿》解题wp

2019-6-14 12:28
3096

程序的流程:


IDA伪代码:

这里是程序的算法:

跟进去看看

IDA伪代码:

这里看到base64必备的编码变换函数:


跟进去看看,找到字符表

OD定位,查看里面的存储数据,这里也能用IDA直接看,但是我还是习惯用OD来定位。

到这里,就可以参考网上的base64,来写出对应的解密算法


得出flag

程序解密完整源码如下:

int __cdecl main()
{
  int v0; // eax@3
  _BYTE v2[3]; // [sp+11h] [bp-3Fh]@1
  const char *v3; // [sp+48h] [bp-8h]@3
  char *v4; // [sp+4Ch] [bp-4h]@3

  __main();
  printf("please enter Serial:");
  scanf(" %s", v2);
  if ( strlen(v2) > 0x31 )
    puts("error");
  v4 = (char *)calloc(1u, 0x400u);
  v0 = strlen(v2);
  base64_encode(v2, v4, v0);
  v3 = "!NGV%,$h1f4S3%2P(hkQ94==";
  if ( !strcmp("!NGV%,$h1f4S3%2P(hkQ94==", v4) )
    puts("Success");
  else
    puts("Please Try Again");
  free(v4);
  system("pause");
  return 0;
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//