首页 > 其他分享 >[AFCTF2018]Single

[AFCTF2018]Single

时间:2022-12-02 16:03:05浏览次数:43  
标签:文件 AFCTF2018 ch 加密 int arr Single Cipher

题目有两种文件

 

 打开Cipher文件内容:

 

 

查看Encode文件

代码如下:

#include <bits/stdc++.h>
using namespace std;
int main()
{
  freopen("Plain.txt","r",stdin);
  freopen("Cipher.txt","w",stdout);
  map<char, char> f;
  int arr[26];
  for(int i=0;i<26;++i){
    arr[i]=i;
  }
  random_shuffle(arr,arr+26);
  for(int i=0;i<26;++i){
    f['a'+i]='a'+arr[i];
    f['A'+i]='A'+arr[i];
  }
  char ch;
  while((ch=getchar())!=EOF){
    if(f.count(ch)){
      putchar(f[ch]);
    }else{
      putchar(ch);
    }
  }
  return 0;
}

 

分析代码,很明显这一串代码是一个加密的程序,而Cipher的文件内容就是通过加密程序的得到的密文,仔细观察,很明显示是一个无规律替换加密

于是使用词频分析(网站:http://quipqiup.com/)方法求解:

 

 得到flag:afctf{Oh_U_found_it_nice_tRy}

 

标签:文件,AFCTF2018,ch,加密,int,arr,Single,Cipher
From: https://www.cnblogs.com/Rebirth-Dream/p/16944705.html

相关文章