打开下载的Mayday.txt文件:
温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足温柔 知足温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足温柔 知足温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足温柔 知足温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足温柔 知足温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足温柔 知足突然好想你  拥抱温柔 知足温柔 知足温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足温柔 知足温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱温柔 知足突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱突然好想你  拥抱温柔 知足突然好想你  拥抱
看了很久,没看出什么。看了提示才知道空格有问题,一个空格对应'0' ,两个空格对应'1'
没得说,写脚本吧。
Mayday1(C语言):
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
//利用fscanf()遇到空格会停止读取,fgets()可以读取空格的特性
void main()
{       
char str[256] = { 0 };
char str1, str2;
int i = 0;
FILE *fp;
fp = fopen("Mayday.txt", "r");
if (fp != NULL)
{
while (!feof(fp))
{
fscanf(fp, "%s", str);
if (!feof(fp))
str1 = fgetc(fp);
if(!feof(fp))
str2 = fgetc(fp);
if (str1 == str2)
{
printf("%d", 1);
i++;
if (i % 8 == 0)
printf("%c", ' ');
}
else
{
printf("%d", 0);
i++;
if (i % 8 == 0)
printf("%c", ' ');
}
}
fclose(fp);
}
else
printf("文件不存在!");
printf("\nend!");
}

最后那个1忽略
然后二进制转文本即可得到flag:
Mayday2(C语言):
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void main()
{
char str1,str2;
int i=0;
FILE* fp;
fp = fopen("Mayday.txt", "r");
if (fp != NULL)        //文件不为空
{
while (!feof(fp))         //文件未结束,就循环
{
str1 = fgetc(fp);
if (str1 == ' ')   //读取到空格符,进入判断
{
str2 = fgetc(fp); //读取空格字符的下一个字符
if (str2 == ' ') //根据条件打印0或1
{
printf("%d", 1);
i++;
if (i % 8 == 0)
printf("%c", ' ');
}
if (str2 != ' ')
{
printf("%d", 0);
i++;
if (i % 8 == 0)
printf("%c", ' ');
}
}
}
fclose(fp);
}
else
printf("文件不存在!");
printf("\nend!");
}

Mayday3(py):
//逻辑和Mayday2是一样的
with open('Mayday.txt', 'r',) as fp:
ch1 = fp.read(1)
i = 0
while ch1:
ch1 = fp.read(1)
if ch1 == ' ':
ch2 = fp.read(1)
if ' ' in ch2:
print(1, end='')
i=i+1
if i % 8 ==0:
print(' ')
else:
print(0, end='')
i=i+1
if i % 8 == 0:
print(' ')
print("\nend!")

转载于:https://www.cnblogs.com/mwq1024/p/10956869.html

CTF-Mayday相关推荐

  1. 【CTF】实验吧 困在栅栏里的凯撒

    题目先提到栅栏,再提到凯撒,按照顺序先栅栏解码,再凯撒解码. 一般密码的开头不是flag就是key或者ctf 所以选择"6栏",在进行凯撒解码 在所有组合中,发现CTF即为flag

  2. 【CTF】实验吧 古典密码

    一共是35个字符分成5*7或者7*5 最终选择5行7列 首先变动第一行的位置,然后根据第一行变动的位置,依次变动下面的行 OCU{CFT ELXOUYD ECTNGAH OHRNFIE NM}IOTA ...

  3. 【CTF】实验吧 围在栅栏中的爱

    对摩斯密码进行解码:kiqlwtfcqgnsoo QWE是键盘上的前三个,ABC是26个字母的前三个.所以,二者有这样的对应关系. #include <stdio.h> #include ...

  4. 【CTF】实验吧 奇怪的短信

    和实验吧 The Flash-14有些类似,总共的数字数目是偶数,所以两两分开,题干中的"短信"是提示,观察两两分组的第二个数字没有超过四的,可以想到手机上的九键 例如第一组数:3 ...

  5. 【CTF】实验吧 The Flash-14

    标题的提示是:闪电侠的第十四集用到的加密方式(看来写CTF题要无所不知,不然咋能想到是一部剧) 根据两两一组将数据分类 54  43  32  52  22  44  55  34  22  51  ...

  6. 【CTF】实验吧 传统知识+古典密码

    对照顺序写下: 根据对应的干支得到 28 30 23 8 17 10 16 30   +甲子 所有的数加60 得到 88 90 83 68 77 70 76 90 找到ASCII码对照表可得到XZSD ...

  7. php upload ctf,强网杯CTF防御赛ez_upload Writeup

    这是强网杯拟态防御线下赛遇到的web题目,本来是不打算分享Writeup的,但是由于问的人很多,于是这里分享给大家. ez_upload这题算是非常经典的堆叠black trick的题目,算是比较典型 ...

  8. ctf 文件头crc错误_[CTF隐写]png中CRC检验错误的分析

    [CTF隐写]png中CRC检验错误的分析 最近接连碰到了3道关于png中CRC检验错误的隐写题,查阅了相关资料后学到了不少姿势,在这里做一个总结 题目来源: bugku-MISC-隐写2 bugku ...

  9. 所见所得php网页,Pwnium CTF之所见所得所想

    [TSRC编者按] 腾讯安全中心的年轻小伙伴们早就眼馋上次的BCTF比赛了,但是由于时间关系未能参加,十分遗憾.听说pwnium CTF比赛要开始了,于是他们摩拳擦掌,跃跃欲试.这不,他们牛刀小试,在 ...

  10. phpinfo.php ctf,这你不是你所常见的PHP文件包含漏洞(利用phpinfo)

    0x01 前言 看到文件包含(+phpinfo ) 的问题,在上次众测中出现此题目,如果没打过CTF,可能真的很少见到这种问题,当然作为小白的我,也是很少遇到,毕竟都是第一次,那就来总结一波经验和操作 ...

最新文章

  1. ethercard php_使用Arduino和ENC28J60以太网LAN网络模块发送HTTP POST请求
  2. 树莓派(Raspberry Pi)修改时区
  3. STM32F1库函数初始化系列:串口DMA空闲接收_DMA发送
  4. java二柱子_japonensisjava导航
  5. 软考备战系列一----软件测试基础
  6. 《非暴力沟通》听书心得
  7. 如何编写 Nagios 插件 (http://zener.blog.51cto.com/937811/727685)
  8. 【课题总结】OpenCV 抠图项目实战(5)自适应阈值抠图
  9. 草稿 listview控件切换大小图标
  10. 吉利汽车终止科创板IPO
  11. JZOJ 3427. 归途与征程
  12. 永远不要低估“价值互联网”!| 技术头条
  13. UDS诊断协议规范与要求
  14. 简易抽奖软件逻辑实现
  15. 熟练操作计算机办公软件英语怎么说,办公软件用英语怎么说英文表达
  16. Python 基础知识 Day2
  17. 芬兰手游业25年发展史
  18. Hypervisor 技术的演进
  19. 固态硬盘 Solid State Disk
  20. windows 7 下让 Delphi 2010 开发的程序具备UAC管理员权限

热门文章

  1. Citrix高层相继离职,XenServer或将被流产?
  2. 实现ls -l功能 和目录实现
  3. 苹果mac Dock窗口预览工具:DockView
  4. inDesign入门教程,如何对齐和分组内容?
  5. 如何使用 macOS 帮助菜单?
  6. 苹果Mac最灵活的文件共享工具:​​​​Dropshare
  7. Linux中的任务调度
  8. Masonry 在swift下的使用
  9. BZOJ 2821 分块+二分
  10. msys2编译器的配置