东京大学 情报理工学院 招生海报

来源:互联网 发布:ceic全球经济数据库 编辑:程序博客网 时间:2024/04/27 20:24

看了这些帖子:

1、http://blog.csdn.net/mtawaken/article/details/8145282

2、http://bbs.saraba1st.com/2b/thread-858664-2-1.html


原图: 


图片中的0、1其实隐藏着有用的信息。

感觉灰常有意思,自己也动手跟着做着。

orc部分没做,直接拿来正确的识别结果:


文件ori 的内容如下:

0001111110001011000010000000000000000000000000000000000000000000000000100000001101101101010100001100101101001110110000100100000000010100001111010101001100011110100001010101101010110101100000001110000000000011010100001101100001010001000100110110100011100010000101100011000100110001101011000100110000110100100110100110000011011000101110000001101001101010100101011110000111010001001101100111010110000000101100001111011101001011110111001011100011010110000001010010011000101110111111000000000011111111110000111000111101110000111000011110001100010110010011010000110010001001100100111100110010011100101110011111011110011110100100110111101111101110011111011111110101111100011111100000000110110000100001111011001000000110000101010010101101001001101011001100001001001000001000001010010100100001100011011000110010000110001101010110010001010101111001000101010010101100001100111100010011110111100001010010101111100100000000010100001110100100011000101011011000011001101000100100110111101111110100100010000100011000011100101110000100110010111001000010101000010111110001110011110100111110111001101101011010000000101110111101011101010110010010110000011011000010101111011010111010000111101101001110010110010110111001000111011011111111100001001111101111100111101111000011001101110000011101000010010010010000010101001011000110100001011000110001001101011011000011001110011010100100110010100100011111000001011000000010001001101101010101110011100000010011101011110110011001010101011001011010110111011111111010110000111010100100100110001111101011000010011100110110101010011110110101010001111100000111101000111101101000010101011101110101010011100100011101010001010001010000010101001011000110101101011000110000011100100101000001100010011000011000100011001011111110010110101001111001110110011110011000111100101110000101010101000110101101111010001000111001110100100001111110011111010101000110010101001100100011111110111110000001001110011110011101010100011011100110001001000101100101110100111110001011000010111110001010001001100011011011101001100100100111101101001011100000111100001110010010010001001110101101000111001001100101001101100001101100110000111111010010101000011010011000000111110100011000100001101010010110100110110110010100010100001010011100110101100001011100011110100001010010111001001101000010010000011010001101011111100010100101000010010001100001100011011011011111010000001001111011100110000001001110010010010110001000001011111110010110110110111000100000100010100000100001100001001110011101001000101000000110001110011000011101111100101000111101010000110100101001000110000010000100011110111100011010101001100011111101000011011101001000011011011000101011011100001011101110101111111101111001000010001010010110110110010011010111100000110111001010000001110011010101100001111011110010100000000010110111111110101010100011000010011100000110111110000000010000000000000000

每8个0或1组成一个字节。程序如下:

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>/* * 读取01,每8位组成一个字节。 * gcc -Wall main.c -o main */#define BITS 1int main(int argc, char *argv[]){int fdin, fdout;char bit;char byte;int rnum;int loc;if(argc != 3){fprintf(stderr, "%s <infile> <outfile>\n", argv[0]);exit(-1);}fdin = open(argv[1], O_RDONLY);if(-1 == fdin){perror("open infile");exit(-1);}fdout = open(argv[2],O_CREAT | O_RDWR);if(-1 == fdout){perror("open outfile");exit(-1);}loc = 7;byte = 0;while((rnum = read(fdin, &bit, BITS)) != 0){if( bit == '0' || bit == '1'){printf("get bit %c\n", bit);byte = byte | ((bit - '0') << (loc--));if(loc < 0){printf("get one byte: %c, 0x%x\n", byte, byte);write(fdout, &byte, BITS);loc = 7 ;byte = 0;}}}close(fdin);close(fdout);return 0;}




将上面的程序编译得: $gcc -Wall main.c -o main

然后 $ ./main ori first

得到first文件,判断first文件的类型可以用file命令。当然也可以将它的前3个字节google之。

$file first

first: gzip compressed data, from Unix, max compression

$mv first first.gz

$gzip -d first.gz 

 解压之后得到一个名为first的文件,继续判断类型

$ file first 
first: compiled Java class data, version 50.0 (Java 1.6)

可以使用jd-gui反编译次文件。

$mv first first.class

打开jd-gui,选取first.class



将first.class 该为 i.class, 然后运行:

$java i

www.i.u-tokyo.ac.jp/fun/hikari-loveletter

进入这个网页,可以听一首歌。这里就不再分析了。

详细解答在这里: http://blog.csdn.net/mtawaken/article/details/8145269