西邮linux兴趣小组2014纳新免试题(一)
【第一关】
题目
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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参数,运行后得到以一组坐标命名的文件,打开后发现是二维码。
扫描无法识别,根据图中的XY坐标轴,猜想二维码需要修正。
按照(X,Y)方式查找发现修改后已不是二维码,于是尝试(Y,X)方式查找
将坐标处填涂为黑色,得到下图
扫描二维码跳转至http://round2.sinaapp.com/,即第二关
![知识共享许可协议](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)
作者:rainmote
博客:http://www.cnblogs.com/rainmote
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。