打开下载的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!")
 
posted on 2019-05-31 18:28  0xcreed  阅读(186)  评论(0编辑  收藏  举报