打开题目,是一串熟悉的编码 Brainf**k
去解码得到:awsl,作为2.zip的解压密码。
打开re.txt,是一个函数,于是尝试把v11~v23的值求出。
v11[0] = 67; v11[1] = 90; v11[2] = 57; v11[3] = 100; v12 = 109; v13 = 113; v14 = 52; v15 = 99; v16 = 56; v17 = 103; v18 = 57; v19 = 71; v20 = 55; v21 = 98; v22 = 65; v23 = 88;
按照顺序排列:67 90 57 100 109 113 52 99 56 103 57 71 55 98 65 88
按照ASCII转换得到:CZ9dmq4c8g9G7bAX
尝试了一下是re1.rar的压缩密码
打开re1.txt,是一个异或函数。于是反过来
#include <iostream> using namespace std; int main(){ char flag[33] = { 0x66,0x0A,0x6B,0x0C,0x77,0x26,0x4F,0x2E,0x40,0x11,0x78,0x0D,0x5A,0x3B,0x55,0x11,0x70,0x19,0x46,0x1F,0x76,0x22,0x4D,0x23,0x44,0x0E,0x67,6,0x68,0x0F,0x47,0x32,0x4F }; for (int i = 32; i >=1 ; i--) { flag[i] ^= flag[i - 1]; } cout << flag; }
得到flag
flag{QianQiuWanDai_YiTongJiangHu}