西邮linux兴趣小组2014纳新免试题(一)

时间:2023-02-09 00:53:06

【第一关】

题目


0101001001100001011100100010000100011010000001110000000011001111100100000111001100000000000000000000110100000000000000000000000000000000000000000000000000000000010110101100110101111010000000001000000000100011000000001010001000000000000000000000000000010000000000010000000000000000000000101001001000001001001110101010000001110110011010110111100101000100000111010011001100000011000000000000000100000000000000000000000001000011010011010101010000001001100110001101000100001100101111100001000101100111011001000001111100000111101000111100010101101111000101000001000111100000100011011111000110100101000111011101101001011101000001001010101001011101101101001010101111000101111101110110010001110111001101000100011011010001001001011100101101111000010111110000101111011001101110111001100110011111110011011100100111100100011100001000011000011000010000100001000011111100001111101110000100100111000011111111110000011011011100001001100001101111000111000000001111000111101000011000111110111110001100000110100100011010000101111001110111010000110100010110000001100000111011000011101000100001100001101001100110010111000011001110100010101000010010000110111011010000010101011100001010011111100101111011011110011001000011111010110110101011100011011001100100010010010010001110101111000111001111100100000110110110000001111001001011110101001011010101000001111011110110000010010110001101010011110111011111010100101111111101101011001000111101010001010101110010110001010111111000110010101010011010101100101111001101010001110010110011000111111010111000101011100011111100001011011001011010101100001100111010000010100101011101100011111000001100001101111101011010010101111100101011010011100000010001101001100010111011000010111000110100110011010111111101100111110110100011110001111001000111010000100100100101000011001000000000011000000000011100000000000000000010010101000000000000000000000000000010111110011001000101010101010011010000011101111110011101110100010000011101001100110000010100000000001000000000000000000000000000000111000001101001011000110010111001100011111111100010010011111110100010010001001100100011110100110111100000000000111100001111011010101111001011001001011110101000111000010100011000010110011101000011010101101011100110001000111000000100110000100100100111000110101010001011011110110011100110010101001100001100111111000000001100110100000101101111110100110010101101011111000110110010111110010011000010101001010100110011010110011001000001101111000100101100101010110100001010001100001001101111010000001100111011001100001000010101x0x1x1x10x0000x11000001100110011111001001111101110100001011110101110010110111101110100011111011010101000010010111101010010001100010011000111001000111100111100000110111001011101110100011101000100100100100000110110001010001111011101111011101111111000011000101001000000101111110111010011101110000100100111110001100101000110001111010101001011110111110011110000000010010101001010100001111100000001011011011101000011111010101100100111000010000001100111100010101100101011011100010111010010000101111100011101001110110001111010101100010111010110010000110010011001010110010010001111111000110100011101000001100011010001101010000000110000000101101110001011000011110111011010110101111001111101010011100101011111011001001110101000100011100111001001101101101111000001001110100001010101001010111110010110111101100000101100000000111010111001001110001111001111100111100010000011001101010011101101001101110100110110110101111100100011001010000111100011000100000010010101100101101101111111110011110101000101010010011100111110000011010000110101000001001000101111100110000000001101001010111001010010101110000001100001110000010110011010010010100110000110110011100100100100000111010110101101011001001010111001001100110100110010010001000111010101111010110001101000000011100100101110101100101101110000010010011111111000101000100110101001000101100000110011101001101001001000111010000001011101101001001110110100001000001011001010111111000001110101011000011000100111011110000110100110001110000011111101001000101000011000001000100111001110100110010011111101000010011110111010111100011010110100011110100110001001101000011011011100100001010011001101100111000011000000011100100000110011001011010100100001110110101110101001111101000000000100111000011010011001001101110001111011001010100010011010101011001000100101010101010011101010000100010011110010100011111100101011011000011101100000000111000110110110110001101010111001110000001000110010111000111100010110100010101000000101011001000110110011001000010000111101010010101011001100011101101100001101000101101010000101101111000101010111001011010101101001100000011011100100000001101001100111010110111111100100000010100111100100111110100110110011011010000000101010101010101101000001010101001101101101110010000001010011101110100001000010011010111010101000101011100111111011101111011101011110110111001000110111001010101000010111100101001010101100001100010110111110111111111011011010100011110001100111010000111000001101000100000011010000110101011110000000000011010000011010010100100001100101101000101000100001110100000010110110010100111001101001111010111000110001000000101010110000010010011110101110000100011001101111010010101101101011000101101011110011110001101010010000001000001010010001100000101110011000000000100110100001100000001111011110010101010111011001001110010111110000101010111001101000100010001101110100110000011001111010111101111010111111110000001110111000010110001110101000111001110000101010101100110110100000010111110011001001111110000101111010000110101011111101001101000010100011111101001110001110011100011000001011100000101000000000010000011000100111101111001001001010010100001001100000110010010011111010100000000100111110111100101010011010010010011010010111011011110110101101001000111000000110100001000011001001011010110110000000110101000111001011010100000000010101000011001101001111001110101110101110011101000000000010000000001100110100011000111010000000110110001001001111111100001011111011111000000100100111001100111100101011001110111000100101001001111010001111010100111001111010000110001010000011011011101110100100111001011100100011111100000100100010101000101001111000001111001101110111010110100001011000101101110110100010101110111111011010100010110100111110011110100111100010110100011100010100011110010111011000010010111100111010110110000011000111100001001000000101011111010010011101111100001000010110101000110100011001000010000111111010010111110111100100000100110010110101110001000001001100101001100010110101000001101100101110101011010101010101100101010010100100110100101100111111011000101111001101111011101110111110110101000100000010001111101111100100101111110011110110011001111101100111100001111101101101010011000110111001110010110001010100000100001011100111001010111010010110110000100100101100110010110101101001100100011000010111010010111010110011010000001101111000111111011101011011110111001100101010000101011010100101000111000111100101110101001100101010101101101000111101111000110010111101100001110011000001110001110101111001111100000001000011111011010101010100010010011000000000100000101011101000011001001100110000000011011101000101111000000010111101011001111111011011000111001101001111011100010111101100110011101100000110100101011000110110001100101110011010001001100011100011011101010011001000001101000010000000111010001100100100000101111000101101111010101111111111000010101010001010100011010011011001110101010110100111101100010011011000011100111101101110010101011011011101001010000010111011011001010100101001111001100010111011011000101101000001110001010111100011111111011010011001010100000100101000011101111011000111100100001011001101100001111101011100011010110100110001010010011000000011010011011100011101001000000000110010111001110011100011110001100100111010010001000011110010000101000111000110000000000011000100000010000011110011001111110010100101010001110111110101011011000001011111001010111010011100101111011011110111010010111100011001011011111010100110001110010000101000111010011011100101101101101110111110001010010100110000100010011010100001100011110111011011011100000000100010000011110110011011010110011101100010101111000011001101101001111011011110100001000111101001010100100010100100101011010100001000110000110100101001000101000011011100001101010011011111011001101001001010101111000011100100110111000001010001010101001011111101110010101011101001111001100100100110110010001100001010101000110011100101000000100111000111001001100110011110101110000011111100010101011010000000010001100101100000110001100010011100001100111001010100100111010010111111100100011101111100100000110001010010110010100011101101100010001110001010100111100101100110111101011101010110010010110111011000000100111001110010001101000000111101100110110000010011100101100000000011001100110010000111011010100011100101100100101010001011110101011011001111001101010101001000110110010001100001011010100111101011010010111111001110011011000110111010110101110100111011010011010101000101000010001011000010001110000000010011001011100000000110010100110101101011000001100011010100001101001101001010001000111110000110011110111100101000110000100101001001110000010010110111110111110101111101111110101010001111101110100000111011000110110101100111111001101010111001001101110101111010010000011100000100001110011101110001010101100001111010111010111111100101000100011001000001000111110010101000011111010110100100100110001111111110011000001100111000110101111100110000100101101000101101010011010001110100010101101001101100101111000001001110111100000010110100010101001001101010101010001001011000011101001010001101001101101010101010110101010111011001010111110000010101111001001011011100000110111010010101000110011011010111000100100000101100111110111001101110110110111100100111110010000010110010010001010010101000001111111011110011010100011101011001001001110001101100100110010010011010101010101010111100101011111001010100100110111011011101010110101000100011010100000000001110110101000000110100011010011010001101101111011011010000110100111100011110011010000011111111000011110000101101111011101101001111010001110010101101000010001100111110000111010010110000110011000100000001100010100001110010000000001111100100001001011011010111011011111110001110000101000110101000110011100101110100100101000110000110010001110100110001100011100001001110011011101010110101011001010000110001101010010010010111100000001011001100101100111111011010010011010101110000011000001101010000101111111111101100000011100010101111001111101101100011101010111101100010111010001100111101011000100010010101101100001100000010001111010000010101101001101100000100001000011110110100011001110001111110001110101111000000001000111011011101111000010011010101100001110001000100010100111110010001101101010101110000000111110000000111011110100101000001100110100010010000110110001011100010011111000110110101011100110100111011110110011100101001000000000100101110001001101001101011011110110000110100100101110001100101100111010001001101111001101111110100000000110100111001000110101001000001011011111111101110110100010011010101011110101001011110111011010000110111101010000111010111111111011010000001011010110101011110101010100010101111001001011000101001000101000100011111001000110100010000111010010100110111001000010000111111000111110011000001001010001111101101010100001011010110011111010000000100010000010110101011000000111101011101001111001101111111000001111101010110001111001000000101000010001001101010100110111101111001011100111010001101100001101111100110000110101010100011010011010101111101000000011010010001110101010000111110001101110100011010111011111111000100101001100000000000100110111000000011111001011110100000001011001010100011001001000000111100111011000000001001010110100110110111010001101101001110000001010011100011011000011010011001011111100001101101101101001011010010011000011010010000001010010111001000111001001001011001110100011111010000100110100001100010011001110100010000000111101110101101000001100011101010100111101101010001011111010001101011101001010110111100100111111000110011000001100110011101111111001010001101101001010011110000110011100111100000100011111001111011110010000111011111101100000000011101100111111011001000101110110001011110111010010101100111011100101010100001110011100101001010100101000111111101001001010010100011101110010001101011110000011000000100100000111011010000010000111001010110011001010111010010001111100111000101010001011111111101000000000101011001111001010010100101101000100000010001010101001111001111000000101001100000000111001001111101100100000010100110011010000011110000101100111000111110000101100000000100000000001100111001000001011110111110110111101011101100011001101011010000101010101000101011010110000100101111000001001110011010011101000011110001111110101000111100011111001001111101000001001100110010001110000001100000010000010011100010101110101111110001100110000010010011001111100010000101111001000110111111101010100110011110001101100010001000011010000100001011000001001111010101001011101011011011111111000111010001101000010111100110000011100111100111101110111100011000111010111100000110111111110110111101011110001000001110011111000000101111101001100111000110001000111011101011111110000100001100001011010101101001010100110111000110000010110001110010000010011101010000001100110000000010101101111110110001001001011100011100000100101100111110101101110111111011010111110001100000111101100110111010010100010111100010100100111100110111011001000100101100011011100110101001110111001010000001001111000100010011010001011011000110000111111111110001001101101100010011101110111111011001000101100111110100010010001010001001001100001011000000100101010001000100100000000101100000001110000110100110111011100100100101100110011010000000011110100100101001000110011110100010100001111110001010001101111001011000011101001001100110011000110100100101000100000100100100111001111000111010110100101011110010100110100000101011110100011100010100100010000100101110101110110111110000110110101100001001101000001100101110101010101111111100100000111101011001011010001010000000001011111001110000000000000111000010101010110001100110100011011000100111000100000100111011001111010110111001000010001001100110111101110000001010101101101101100001001010011000111111010101000100101100011110001100100001101001111100100111100010110001011101100111100000111111100001111010101100110001000010011010010110101010110111000110101011100011001001110100001000111001011110110001111010101101101001110000010010100010111101101000000101101011011001111000110001011011010101111011001001011010011011111100110101011101000111000101001100100111101100010110101000100000010101100011011010001111011110001011010011111100110011000001010001010100111011101110100110110010101110101011001111100010111000000001111111010101010010110011011000101010110111001111111000011001110000100010000110111001000111000111001110101101110011100110010101111001011011111011000100111010000100011001100100000011000110001111000101110101110001010010110000110011010001000001000101101001100100010100101000000001000011011111001001000000011100111111011111010110000011111110010110101000101010110010101001110010100111100111100110000110100011011010110010100110111111110010110100001111111101011101110001000100000111011001111100011101011000110110001100000001110011111111000010011010110011100010111001110100101101111101110010110100101000111011101111011000101110010110101001000111010010001111111100000000010010110010100011000001000101100100011100110010110010010100011010010001010110111111111100001011111011110111011100000001010101000100101011000101010101000000001010001001100110110010110111100100110101011011000000110111110011011101001000111000010001100100111000111111001000001100001101101010001010001000100001101001101000010001111001011101110110111011100111000110110101000011111001001011110001100111110100100001101100111011101011110000110010010100001101011110111101100110000100101111001000101011110001000001011100100010000110011010101101101010011010111100001010100001101110001100111110011000011110010100010001110011001000100011100101100011010011010010001000010001010110100100110101100011110101011111101000101111001101101100100101110011100010110110000111001110000111001011010101010110001010101110100101111010010010011011110010101111100100000010011101001110000100000111100111011100110000001011100100000000011011001010001000111000101100100001111111000001100111110010001000010110101101011101110110011001011000011101000010001011011010110010010100000001100001100010101101111001100011111001100010011011100001101010010101010000100000110000001100100111001011110111001000010001000000111111001100111111010001100110011101000010111011010010110011110111101100000000001111010001111001111011110100010010101110001010100000110001001010000011101111011001101010111011101111000011001101110111000001100010100010110001011001000011011011101000100101100001110011010010110100000100010110000101100111110011010000110100110111010111110010101111111101110001111000010110100110101000110010011011100001101101010011001010111001010110001011000010101111101100011001000110101010001110000100111101010110011001111101010000110101110110000001011111010001011111001011010111001001011101010010110011000001111110110101100111010110001010011010110000011101010011110101001111010110110110011011100010001101010011000110100110010011101010001111011101011000110000010101111010101010000110010000100010101000001100010000111101011110110000000001000000000001110000000001101000011101000111010001110000001110100010111100101111011101110111011101110111001011100111100101101111011101010111010001110101011000100110010100101110011000110110111101101101001011110111011101100001011101000110001101101000001111110111011000111101010010000100010000110110011011100111000101010001011100100100101001111000001101110011100000001010

分析


0、1文本,常见方法是写入二进制文件。下面是读取0、1文本并写入文件C语言小程序:

#include<stdio.h>
#include<stdlib.h> int main()
{
FILE *fin,*fout;
int temp = 0x00;
int ch;
int i = 1;
fin = fopen("problem.txt","r");
fout = fopen("out","wb");
while((ch=fgetc(fin))!=EOF) {
ch -= 48;
temp |= ch;
if(i%8 == 0) {
printf("%02x ",temp);
putc(temp,fout);
temp = 0x00;
}else
temp = temp << 1;
i++;
}
fclose(fout);
fclose(fin); return 0;
}

得到二进制文件后,使用file命令查看文件格式:

root@bt:~# file out
out: RAR archive data, v1d, os: Win32

得到RAR压缩文件包,解压缩:

root@bt:~# unrar e out

UNRAR 3.90 beta 2 freeware      Copyright (c) 1993-2009 Alexander Roshal

Extracting from out

1:37s~1:39s

pseudocode:
for ch in password:
if ch.isalpha():
print("tips")
the `print' expression is always executed. Enter password (will not be echoed) for pic.c:

需要密码才能解压,根据提示密码都是字母,上面还有个时间...

使用hexedit查看文件,在尾部发现

00000870   07 00 68 74  74 70 3A 2F  2F 77 77 77  2E 79 6F 75  ..http://www.you
00000880 74 75 62 65 2E 63 6F 6D 2F 77 61 74 63 68 3F 76 tube.com/watch?v
00000890 3D 48 44 36 6E 71 51 72 4A 78 37 38 0A =HD6nqQrJx78.

需要*才能访问,名为Linux Does What Win Don't(Why Linux is better than Windows)的视频。

根据提示获取1:37s~1:39s演讲内容:linux is secure by design

所以解压密码应该是linuxissecurebydesign

多次尝试解压还是失败......

重新整理思路,发现题目中含有非0、1字符x0x1x1x10x0000x,偏移位置为0x13A

猜想6bit数据被有意删除,于是想着通过枚举填充这些比特位。

于是写了一个小程序,用来修改out文件的偏移为0x13A后的2个字节数据,枚举生成64个RAR文件

#include<stdio.h>
#include<stdlib.h>
#include<string.h> int main()
{
int i,j,n = 0;
unsigned char temp;
unsigned char t1,t2;
FILE *fp, *fpout;
char name[20], buf[20];
char buf_pre[320],buf_post[2000];
fp = fopen("out", "rb");
fread(buf_pre, 0x13A, 1, fp);
fseek(fp, 2, SEEK_CUR);
fread(buf_post, 0x761, 1, fp);
for(i = 0; i < 64; i++)
{
temp = i;
t1 = (temp&32)<<2;
t1 += (temp&16)<<1;
t1 += (temp&8);
t1 += (temp&4)>>1;
t1 += 21;
t2 = (temp&2)<<5;
t2 += (temp&1)<<1;
t2 += 1;
n++;
buf[0]=n/10+48;
buf[1]=n%10+48;
buf[2]='\0';
strcpy(name, buf);
strcat(name, ".rar");
puts(name);
printf("%x\t%x\n", t1, t2); fpout = fopen(name, "w");
fwrite(buf_pre, 0x13A, 1, fpout);
fputc(t1, fpout);
fputc(t2, fpout);
fwrite(buf_post, 0x761, 1, fpout);
fclose(fpout);
}
fclose(fp); return 0;
}

得到64个RAR压缩包后,用脚本测试一下结果是否与预想一致

#!/bin/bash

for i in `seq -w 64`
do
r=`hexdump $i.rar | grep -E '^0000130'`
echo $r
done

显示每个文件偏移为0x130行的数据,与预想一致,接下来要尝试解压。

使用unrar命令,可通过-p参数解压带有密码的文件包。于是通过下面脚本查找正确的压缩数据包。

#!/bin/bash

for i in `seq -w 64`
do
result=`unrar e $i.rar -plinuxissecurebydesign`
echo $result | grep -o -E '[0-9]{1,3}%'
echo "--" $i
done

运行至第12个压缩包时成功解压,得到pic.c文件。

替换一下变量名得到下面程序:

#include <stdio.h>
#define T(x) #x
char* filename=T(iamabaka);
int x[9], y[9];
char buf[1024];
FILE* fp;
char*dispalyXY()
{
for(int i=0,d=0;i<9;++i)
d+=sprintf(buf+d,"(%d,%d)",x[i],y[i]);
return buf;
}
void dispaly(){
filename=dispalyXY();
}
static const char data[]={
0x42,0x4d,0xe2,0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x28,0x00,
0x00,0x00,0x94,0x00,0x00,0x00,0x95,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,
0x00,0x00,0xa4,0x0b,0x00,0x00,0x12,0x0b,0x00,0x00,0x12,0x0b,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xf0,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xf1,0x1f,0xf0,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0x1f,0xf0,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0x1f,0xf0,0x00,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x1f,
0xf0,0x00,0xe3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xf8,0x3f,0xf0,0x00,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0x1f,0xf0,0x00,0x80,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0x1f,0xf0,0x00,0x88,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0x1e,
0x70,0x00,0x88,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xfe,0x10,0x00,0x88,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0xbf,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xf7,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x88,0xa0,
0x00,0x00,0x00,0x00,0x78,0x1f,0xff,0xf0,0x3f,0xf0,0x00,0x00,0x3f,0xf8,0x1f,0xfc,
0x00,0x00,0x80,0xa0,0x00,0x00,0x00,0x00,0x7c,0x1f,0xff,0xf0,0x3f,0xf8,0x00,0x00,
0x3f,0xf8,0x1f,0xfc,0x10,0x00,0xc1,0xa0,0x00,0x00,0x00,0x00,0x7c,0x1f,0xff,0xf0,
0x3f,0xf8,0x00,0x00,0x3f,0xf8,0x1f,0xfc,0x10,0x00,0xe3,0xa0,0x00,0x00,0x00,0x00,
0x7c,0x1f,0xff,0xf0,0x3f,0xf8,0x00,0x00,0x3f,0xf8,0x1f,0xfc,0x10,0x00,0xff,0xa0,
0x00,0x00,0x00,0x00,0x3c,0x1f,0xff,0xf0,0x3f,0xf8,0x00,0x00,0x3f,0xf8,0x1f,0xfc,
0x10,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,0x7c,0x1f,0xab,0xff,0xff,0x40,0x3f,0xf8,
0x11,0x57,0xe4,0xa8,0x10,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xff,0x81,0xff,
0xfe,0x00,0x3f,0xf8,0x00,0x07,0xe0,0x00,0x10,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,
0x7f,0xff,0x83,0xff,0xff,0x00,0x3f,0xf8,0x00,0x03,0xe0,0x00,0x10,0x00,0xff,0xa0,
0xff,0xff,0xff,0xe0,0x7f,0xff,0x81,0xff,0xfe,0x00,0x3f,0xf8,0x00,0x07,0xe0,0x00,
0x10,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xff,0x83,0xff,0xfe,0x00,0x3f,0xf8,
0x00,0x07,0xe0,0x00,0x10,0x00,0xff,0xa0,0xfd,0x08,0x23,0xe0,0x3f,0xff,0x81,0x5f,
0xd4,0x00,0x3e,0xa8,0x00,0x07,0xe0,0x00,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,
0x7f,0xff,0x80,0x0f,0xc0,0x00,0x3f,0x07,0xe0,0x07,0xe0,0x00,0x10,0x00,0xff,0xa0,
0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x07,0xc0,0x00,0x3f,0x07,0xe0,0x07,0xe0,0x00,
0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x07,0x80,0x00,0x3f,0x07,
0xe0,0x07,0xe0,0x00,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x07,
0x80,0x00,0x3f,0x07,0xe0,0x03,0xe0,0x00,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,
0x7f,0xff,0x80,0x07,0xc0,0x00,0x3f,0x07,0xc0,0x07,0xe0,0x00,0x10,0x00,0xff,0xa0,
0x7c,0x00,0x03,0xe0,0x7f,0xff,0xfc,0x0f,0xfe,0x07,0xff,0x00,0x00,0xf8,0x1f,0x00,
0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0xfc,0x07,0xff,0x07,0xff,0x00,
0x00,0xf8,0x1f,0x00,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0xfc,0x07,
0xfe,0x07,0xff,0x00,0x00,0xf8,0x1f,0x00,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,
0x7f,0xff,0xfc,0x07,0xfe,0x07,0xff,0x00,0x00,0xf8,0x1f,0x00,0x10,0x00,0xff,0xa0,
0xfc,0x00,0x03,0xe0,0x7f,0xff,0xfc,0x07,0xfe,0x07,0xff,0x00,0x00,0xf8,0x1f,0x00,
0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0xfc,0x07,0xfe,0x07,0xfe,0x00,
0x00,0x78,0x1f,0x00,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7c,0x00,0x00,0x00,
0x3e,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xf0,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,
0x7c,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xf0,0x00,0xff,0xa0,
0xfc,0x00,0x03,0xe0,0x7c,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,
0xf0,0x00,0xff,0xa0,0x7c,0x00,0x03,0xe0,0x7c,0x00,0x00,0x00,0x3f,0x00,0x00,0x00,
0x00,0x00,0x1f,0xff,0xf0,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7c,0x00,0x00,0x00,
0x3e,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xf0,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,
0x7f,0xf0,0x01,0xff,0xc0,0x07,0xc0,0xff,0xff,0x07,0xff,0xff,0xf0,0x00,0xff,0xa0,
0xff,0xff,0xff,0xe0,0x7f,0xf0,0x01,0xff,0x80,0x07,0x80,0xff,0xff,0x07,0xff,0xff,
0xf0,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xf0,0x03,0xff,0x80,0x07,0xc0,0xff,
0xff,0x07,0xff,0xff,0xf0,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xf0,0x01,0xff,
0x80,0x07,0xc0,0xff,0xff,0x07,0xff,0xff,0xf0,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,
0x7f,0xf0,0x03,0xff,0x80,0x07,0xc0,0xff,0xff,0x07,0xff,0xff,0xf0,0x00,0xff,0xa0,
0xff,0xfb,0xff,0xe0,0x7f,0xf0,0x7f,0xff,0xee,0xdf,0xc0,0xff,0xff,0x07,0xff,0xff,
0xf0,0x00,0xff,0xa0,0x00,0x00,0x00,0x00,0x7f,0xf0,0x7c,0x0f,0xff,0xff,0xc0,0xf8,
0x3f,0xf8,0x1f,0xfc,0x00,0x00,0xff,0xa0,0x00,0x00,0x00,0x00,0x7f,0xf0,0x7c,0x07,
0xff,0xff,0xc0,0xf8,0x3f,0xf8,0x1f,0xfc,0x10,0x00,0xff,0xa0,0x00,0x00,0x00,0x00,
0x7f,0xf0,0x7c,0x07,0xff,0xff,0xc0,0xf8,0x3f,0xf8,0x1f,0xfc,0x10,0x00,0xff,0xa0,
0x00,0x00,0x00,0x00,0x3f,0xf0,0x7c,0x07,0xff,0xff,0xc0,0xf8,0x3f,0xf8,0x1f,0xfc,
0x10,0x00,0xff,0x80,0x00,0x00,0x00,0x00,0x7f,0xf0,0x3c,0x07,0xff,0xff,0xc0,0xf8,
0x3f,0xf8,0x1f,0xfc,0x00,0x00,0xff,0xbf,0xff,0xff,0xff,0xff,0xfc,0x0f,0xff,0xf0,
0x01,0xff,0xc0,0xff,0xff,0x07,0xff,0x03,0xf0,0x00,0xff,0xbf,0xff,0xff,0xff,0xff,
0xfc,0x1f,0xff,0xf0,0x01,0xff,0xc0,0xff,0xff,0x07,0xff,0x07,0xf0,0x00,0xff,0xbf,
0xff,0xff,0xff,0xff,0xfc,0x1f,0xff,0xf0,0x01,0xff,0xc0,0xff,0xff,0x07,0xff,0x03,
0xf0,0x00,0xff,0xbf,0xff,0xff,0xff,0xff,0xfc,0x1f,0xff,0xf0,0x01,0xff,0xc0,0xff,
0xff,0x07,0xff,0x07,0xf0,0x00,0xff,0xbf,0xff,0xff,0xff,0xff,0xfc,0x1f,0xff,0xf0,
0x01,0xff,0xc0,0xff,0xff,0x07,0xff,0x03,0xf0,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,
0x7c,0x1f,0xff,0xf0,0x00,0x07,0xc0,0x07,0xc0,0x07,0xe0,0x07,0xf0,0x00,0xff,0xa0,
0xff,0xff,0xff,0xe0,0x7c,0x1f,0xff,0xf0,0x00,0x07,0xc0,0x07,0xc0,0x07,0xe0,0x03,
0xf0,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,0x7c,0x1f,0xff,0xf0,0x00,0x07,0xc0,0x07,
0xc0,0x07,0xe0,0x07,0xf0,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,0x7c,0x1f,0xff,0xf0,
0x00,0x07,0xc0,0x07,0xc0,0x07,0xe0,0x03,0xf0,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,
0x7c,0x1f,0xff,0xf0,0x00,0x07,0xc0,0x07,0xc0,0x07,0xe0,0x07,0xf0,0x00,0xff,0xa0,
0xff,0xff,0xff,0xe0,0x7c,0x1f,0xff,0xf0,0x00,0x07,0xc0,0x07,0xc0,0x07,0xe0,0x03,
0xf0,0x00,0xff,0xa0,0xfc,0x1f,0xfc,0x0f,0xfc,0x1f,0x80,0x07,0xfe,0x00,0x3f,0xff,
0xff,0x07,0xe0,0x7c,0x00,0x00,0xff,0xa0,0xfc,0x1f,0xfc,0x1f,0xfc,0x1f,0x80,0x07,
0xff,0x00,0x3f,0xff,0xff,0x07,0xe0,0xfc,0x10,0x00,0xff,0xa0,0xfc,0x1f,0xfc,0x1f,
0xfc,0x1f,0x80,0x0f,0xfe,0x00,0x3f,0xff,0xff,0x07,0xe0,0xfc,0x10,0x00,0xff,0xa0,
0xfc,0x1f,0xfc,0x1f,0xfc,0x1f,0x80,0x07,0xff,0x00,0x3f,0xff,0xff,0x07,0xe0,0xfc,
0x10,0x00,0xff,0xa0,0xfc,0x1f,0xfc,0x1f,0xfc,0x1f,0x80,0x0f,0xfe,0x00,0x3f,0xff,
0xff,0x07,0xe0,0x7c,0x10,0x00,0xff,0xa0,0x03,0xc0,0xff,0xc0,0x01,0xe0,0x01,0xff,
0x80,0x70,0x00,0x07,0xe0,0x00,0x00,0x00,0x10,0x00,0xff,0xa0,0x07,0xe0,0xff,0xe0,
0x03,0xf0,0x03,0xff,0x81,0xf8,0x00,0x07,0xe0,0x00,0x00,0x00,0x10,0x00,0xff,0xa0,
0x07,0xe0,0xff,0xe0,0x03,0xf0,0x03,0xff,0xc1,0xf8,0x00,0x07,0xe0,0x00,0x00,0x00,
0x10,0x00,0xff,0xa0,0x07,0xe0,0xff,0xe0,0x03,0xf0,0x01,0xff,0x81,0xf8,0x00,0x07,
0xe0,0x00,0x00,0x00,0x10,0x00,0xff,0xa0,0x07,0xe0,0xff,0xe0,0x03,0xf0,0x03,0xff,
0x81,0xf8,0x00,0x07,0xe0,0x00,0x00,0x00,0x10,0x00,0xff,0xa0,0x03,0xf2,0x7f,0xe9,
0x4b,0xf0,0x01,0xff,0xc1,0xf8,0x00,0x87,0xe1,0x00,0x95,0x00,0x10,0x00,0xff,0xa0,
0x00,0x1f,0x03,0xff,0xff,0xf0,0x03,0xf0,0x01,0xf8,0x00,0xff,0xff,0x07,0xff,0x03,
0xf0,0x00,0xff,0xa0,0x00,0x1f,0x83,0xff,0xff,0xf0,0x01,0xf0,0x01,0xf8,0x00,0xff,
0xff,0x07,0xff,0x03,0xf0,0x00,0xff,0xa0,0x00,0x1f,0x83,0xff,0xff,0xf0,0x01,0xf0,
0x01,0xf8,0x00,0xff,0xff,0x07,0xff,0x07,0xf0,0x00,0xff,0xa0,0x00,0x1f,0x83,0xff,
0xff,0xf0,0x03,0xf0,0x01,0xf8,0x00,0xff,0xff,0x07,0xff,0x07,0xf0,0x00,0xff,0xa0,
0x00,0x1f,0x83,0xff,0xff,0xf0,0x01,0xf0,0x01,0xf8,0x00,0xff,0xff,0x07,0xff,0x03,
0xf0,0x00,0xff,0xa0,0x04,0x80,0x00,0x00,0x04,0x00,0x03,0xf0,0x05,0xf8,0x20,0xf8,
0x00,0x57,0xff,0x04,0x00,0x00,0xff,0xbf,0x07,0xe0,0x00,0x00,0x00,0x00,0x01,0xf0,
0x3f,0xf8,0x3f,0xf8,0x00,0xff,0xff,0xfc,0x10,0x00,0xff,0xbf,0x07,0xe0,0x00,0x00,
0x00,0x00,0x01,0xf0,0x3f,0xf8,0x3f,0xf8,0x00,0xff,0xff,0xfc,0x10,0x00,0xff,0xbf,
0x07,0xe0,0x00,0x00,0x00,0x00,0x03,0xf0,0x3f,0xf8,0x3f,0xf8,0x00,0xff,0xff,0xfc,
0x10,0x00,0xff,0xbf,0x07,0xe0,0x00,0x00,0x00,0x00,0x01,0xf0,0x3f,0xf8,0x3f,0xf8,
0x00,0xff,0xff,0xfc,0x10,0x00,0xff,0xbf,0x04,0x00,0x00,0x00,0x00,0x00,0x01,0xf0,
0x3f,0xf8,0x20,0xf8,0x00,0x00,0x01,0x24,0x10,0x00,0xff,0xbf,0xfc,0x00,0x03,0xff,
0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0xf8,0x00,0x00,0x00,0x00,0x10,0x00,0xff,0xbf,
0xfc,0x00,0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0xf8,0x00,0x00,0x00,0x00,
0x10,0x00,0xff,0xbf,0xfc,0x00,0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0xf8,
0x00,0x00,0x00,0x00,0x10,0x00,0xff,0xbf,0xfc,0x00,0x03,0xff,0xff,0xff,0xff,0xff,
0xff,0xf8,0x00,0xf8,0x00,0x00,0x00,0x00,0x10,0x00,0xff,0xbf,0xfc,0x00,0x03,0xff,
0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0xf0,0x00,0x00,0x00,0x00,0x10,0x00,0xff,0xbf,
0xfc,0x00,0x03,0xe0,0x7c,0x00,0x7f,0xfa,0xbf,0x00,0x00,0xf8,0x00,0x00,0x00,0x00,
0x10,0x00,0xff,0xbf,0xfc,0x00,0xff,0xe0,0x7c,0x00,0x3f,0xf0,0x3e,0x00,0x00,0xf8,
0x00,0x78,0x1f,0xfc,0x10,0x00,0xff,0xbf,0xfc,0x00,0xff,0xe0,0x7c,0x00,0x7f,0xf0,
0x3e,0x00,0x00,0xf8,0x00,0xf8,0x1f,0xfc,0x10,0x00,0xff,0xbf,0xfc,0x00,0xff,0xe0,
0x7c,0x00,0x7f,0xf0,0x3e,0x00,0x00,0xf8,0x00,0xf8,0x1f,0xfc,0x10,0x00,0xff,0xbf,
0xfc,0x00,0xff,0xe0,0x7c,0x00,0x7f,0xf0,0x3e,0x00,0x00,0xf8,0x00,0xf8,0x1f,0xfc,
0x10,0x00,0xff,0xbf,0xfc,0x00,0x6f,0x40,0x78,0x00,0x3f,0xf0,0x3f,0x00,0x00,0x68,
0x00,0xf0,0x0f,0xf8,0x10,0x00,0xff,0xbf,0xfc,0x1f,0x80,0x1f,0x83,0xff,0x81,0xff,
0xff,0xf8,0x3e,0x07,0xe0,0x00,0x00,0x03,0xf0,0x00,0xff,0xbf,0xfc,0x1f,0x80,0x1f,
0x83,0xff,0x83,0xff,0xff,0xf8,0x3f,0x07,0xe0,0x00,0x00,0x03,0xf0,0x00,0xff,0xbf,
0xfc,0x1f,0x80,0x1f,0x81,0xff,0x81,0xff,0xff,0xf8,0x3f,0x07,0xe0,0x00,0x00,0x07,
0xf0,0x00,0xff,0xbf,0xfc,0x1f,0x80,0x1f,0x83,0xff,0x83,0xff,0xff,0xf8,0x3f,0x07,
0xe0,0x00,0x00,0x03,0xf0,0x00,0xff,0xbf,0xf8,0x1f,0x80,0x1f,0x83,0xff,0x81,0xff,
0xff,0xf8,0x3f,0x07,0xe0,0x00,0x00,0x03,0xf0,0x00,0xff,0xbf,0xf3,0xff,0x83,0xef,
0xff,0xff,0xbf,0xff,0xff,0xf7,0xfe,0xff,0xff,0xff,0xff,0xf9,0xf0,0x00,0xff,0xbf,
0x07,0xff,0x83,0xe0,0x7f,0xf0,0x7f,0xf0,0x3f,0x07,0x80,0xff,0xff,0xff,0xff,0xfc,
0x10,0x00,0xff,0xbf,0x07,0xff,0x83,0xe0,0x7f,0xf0,0x7f,0xf0,0x3e,0x07,0xc0,0xff,
0xff,0xff,0xff,0xfc,0x10,0x00,0xff,0xbf,0x07,0xff,0x83,0xe0,0x3f,0xf0,0x7f,0xf0,
0x3e,0x07,0xc0,0xff,0xff,0xff,0xff,0xfc,0x10,0x00,0xff,0xbf,0x03,0xff,0x83,0xe0,
0x7f,0xf0,0x7f,0xf0,0x3e,0x07,0xc0,0xff,0xff,0xff,0xff,0xfc,0x10,0x00,0xff,0xbf,
0x07,0xff,0x83,0xe0,0x7f,0xf0,0x7f,0xf0,0x3a,0x07,0xc0,0x7f,0xff,0xff,0xff,0xfc,
0x00,0x00,0xff,0xbf,0xff,0xff,0xff,0xff,0xfc,0x00,0x7f,0xf0,0x01,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xf0,0x00,0xff,0xbf,0xff,0xff,0xff,0xff,0xfc,0x00,0x7f,0xf0,
0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0xff,0xbf,0xff,0xff,0xff,0xff,
0xfc,0x00,0x7f,0xf0,0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0xff,0xbf,
0xff,0xff,0xff,0xff,0xfc,0x00,0x7f,0xf0,0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xf0,0x00,0xff,0xbf,0xff,0xff,0xff,0xff,0xfc,0x00,0x7f,0xf0,0x01,0xef,0xff,0xff,
0xff,0xff,0xff,0xff,0xf0,0x00,0xff,0xa0,0x00,0x00,0x00,0x00,0x7c,0x0f,0x81,0xf0,
0x3e,0x07,0xc0,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xa0,0x00,0x00,0x00,0x00,
0x7c,0x1f,0x81,0xf0,0x3f,0x07,0xc0,0xf8,0x00,0x00,0x00,0x00,0x10,0x00,0xff,0xa0,
0x00,0x00,0x00,0x00,0x7c,0x1f,0x83,0xf0,0x3e,0x07,0xc0,0xf8,0x00,0x00,0x00,0x00,
0x10,0x00,0xff,0xa0,0x00,0x00,0x00,0x00,0x7c,0x1f,0x81,0xf0,0x3e,0x07,0xc0,0x78,
0x00,0x00,0x00,0x00,0x10,0x00,0xff,0xa0,0x00,0x00,0x00,0x00,0x7c,0x1f,0x83,0xf0,
0x3e,0x07,0xc0,0xf8,0x00,0x00,0x00,0x00,0x10,0x00,0xff,0xa0,0x00,0x00,0x00,0x00,
0x7c,0x0f,0x81,0xf0,0x3f,0x07,0xc0,0xf8,0x00,0x00,0x00,0x00,0x10,0x00,0xff,0xa0,
0xff,0xff,0xff,0xe0,0x7f,0xf0,0x3c,0x0f,0xff,0xff,0xff,0xf8,0x3f,0xff,0xff,0xfc,
0x10,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xf0,0x7c,0x07,0xff,0xff,0xff,0xf8,
0x3f,0xff,0xff,0xfc,0x10,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xf0,0x7c,0x07,
0xff,0xff,0xff,0xf8,0x3f,0xff,0xff,0xfc,0x10,0x00,0xff,0xa0,0xff,0xff,0xff,0xe0,
0x7f,0xf0,0x7c,0x07,0xff,0xff,0xff,0xf8,0x3f,0xff,0xff,0xfc,0x10,0x00,0xff,0xa0,
0xff,0xff,0xff,0xe0,0x7f,0xf0,0x3c,0x0f,0xff,0xff,0xff,0xf8,0x3f,0xff,0xff,0xfc,
0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x00,0x3f,0x07,0xff,0xf8,
0x3f,0x00,0x00,0x7c,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x00,
0x3e,0x07,0xff,0xf8,0x3f,0x00,0x00,0xfc,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,
0x7f,0xff,0x80,0x00,0x3e,0x07,0xff,0xf8,0x3f,0x00,0x00,0xfc,0x10,0x00,0xff,0xa0,
0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x00,0x3f,0x07,0xff,0xf8,0x3f,0x00,0x00,0x7c,
0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x00,0x3e,0x07,0xff,0xf8,
0x3f,0x00,0x00,0xfc,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x07,
0xfe,0xf7,0xff,0xf8,0x3f,0x00,0x00,0x7c,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,
0x7f,0xff,0x80,0x07,0xc1,0xf8,0x00,0xf8,0x3f,0x00,0x00,0xfc,0x10,0x00,0xff,0xa0,
0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x0f,0x81,0xf8,0x00,0xf8,0x3f,0x00,0x00,0x7c,
0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x07,0x81,0xf8,0x00,0xf8,
0x3f,0x00,0x00,0xfc,0x10,0x00,0xff,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xff,0x80,0x07,
0x81,0xf8,0x00,0xf8,0x3f,0x00,0x00,0x7c,0x10,0x00,0xc3,0xa0,0xfc,0x00,0x03,0xe0,
0x7f,0xff,0x80,0x0f,0x81,0xf0,0x00,0xf8,0x3f,0x00,0x00,0x7c,0x10,0x00,0xc1,0xa0,
0xfc,0x00,0x03,0xe0,0x7f,0xf0,0x7c,0x07,0xc0,0x07,0xff,0xf8,0x3f,0x00,0x00,0xfc,
0x10,0x00,0xc0,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xf0,0x7e,0x07,0x80,0x07,0xff,0xf8,
0x3f,0x00,0x00,0xfc,0x10,0x00,0xf0,0xa0,0xfc,0x00,0x03,0xe0,0x7f,0xf0,0x7c,0x07,
0x80,0x07,0xff,0xf8,0x3f,0x00,0x00,0x7c,0x10,0x00,0xc0,0xa0,0xfc,0x00,0x03,0xe0,
0x7f,0xf0,0x7c,0x0f,0x80,0x07,0xff,0xf8,0x3f,0x00,0x00,0xfc,0x10,0x00,0x80,0xa0,
0xfc,0x00,0x03,0xe0,0x7f,0xf0,0x3c,0x07,0x80,0x07,0xff,0xf8,0x3f,0x00,0x00,0x7c,
0x10,0x00,0x80,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xff,0xfc,0x0f,0xc0,0x07,0xff,0xf8,
0x3f,0xff,0xff,0xfc,0x10,0x00,0x88,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xff,0xfc,0x00,
0x00,0x07,0xff,0xf8,0x3f,0xff,0xff,0xfc,0x10,0x00,0x88,0xa0,0xff,0xff,0xff,0xe0,
0x7f,0xff,0xfc,0x00,0x00,0x07,0xff,0xf8,0x3f,0xff,0xff,0xfc,0x10,0x00,0x88,0xa0,
0xff,0xff,0xff,0xe0,0x7f,0xff,0xfc,0x00,0x00,0x07,0xff,0xf8,0x3f,0xff,0xff,0xfc,
0x10,0x00,0x88,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xff,0xfc,0x00,0x00,0x07,0xff,0xf8,
0x3f,0xff,0xff,0xfc,0x10,0x00,0x88,0xa0,0xff,0xff,0xff,0xe0,0x7f,0xff,0xfc,0x00,
0x00,0x07,0xff,0xf8,0x3f,0xff,0xff,0xfc,0x10,0x00,0xff,0xa0,0x00,0x00,0x00,0x00,
0x7c,0x00,0x00,0x07,0x80,0x07,0xff,0xf8,0x00,0x00,0x00,0x00,0x10,0x00,0xff,0xa0,
0x00,0x00,0x00,0x00,0x7c,0x00,0x00,0x0f,0x80,0x07,0xff,0xf8,0x00,0x00,0x00,0x00,
0x10,0x00,0xfe,0x20,0x00,0x00,0x00,0x00,0x7c,0x00,0x00,0x07,0x80,0x07,0xff,0xf8,
0x00,0x00,0x00,0x00,0x10,0x00,0xff,0x20,0x00,0x00,0x00,0x00,0x7c,0x00,0x00,0x07,
0x80,0x07,0xff,0xf8,0x00,0x00,0x00,0x00,0x10,0x00,0xff,0x80,0x00,0x00,0x00,0x00,
0x7c,0x00,0x00,0x0f,0xc0,0x07,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xf0,0x00
};
void initXY() {
for (int i = 0; i < 9; ++i) {
x[i] = 6 + (i << 1), y[i] = (10 - i) * 2;
switch (i) {
case 8: x[i] -= 17; y[i] -= 11;
case 7: --x[i]; y[i] += ((i-1) << 2) - (i >> 1) - 1;
case 6: x[i] += (i << 1) - 2; y[i] -= i - 1;
case 5: --x[i]; y[i] += i - 1;
case 4: x[i] -= i + 15; y[i] -= (i << 1);
case 3: x[i] -= 4; y[i] += (i << 3) + 1;
case 2: x[i] += 2 + (i << 1); y[i] -= (i << 3) - 3;
default: break;
}
}
}
int main() {
initXY();
int i;
for(i = 0; i < 9; i++)
printf("%d,%d\n",x[i],y[i]);
#if 1 //原文件为#if 0
dispaly();
#endif
fp = fopen(filename, "w");
fwrite(data,sizeof(char),sizeof(data)/sizeof(*data),fp);
return 0;
}

编译时提示使用-std=c99参数,运行后得到以一组坐标命名的文件,打开后发现是二维码。

西邮linux兴趣小组2014纳新免试题(一)

扫描无法识别,根据图中的XY坐标轴,猜想二维码需要修正。

按照(X,Y)方式查找发现修改后已不是二维码,于是尝试(Y,X)方式查找

将坐标处填涂为黑色,得到下图

西邮linux兴趣小组2014纳新免试题(一)

扫描二维码跳转至http://round2.sinaapp.com/,即第二关