每一关都有截屏,但是都上传上来太多了,通关过程说下得了:
第一关:当然,点下一步就可以了;
第二关:查看源代码,就可以看到key啦,然后地址栏替换k,回车就可以了;
第三关:将4的md5加密的32位代码替换k就可以进入第四关了;
第四关:5的md5值,规律,额;
第五关:二维码图片,如果你去扫一下,你就被耍了,保存这张图片,以文本形式打开就会看见里面的key了;
第六关:google一下给的key,你就会发现...;
第七关:给的就是我们要的key...;
第八关:打开源代码,有个表单,你需要修改get请求为post,然后在输入框内回车提交这个表单(当然这个需要在firebug或者开发者工具里面);
第九关:这个比较复杂了,首先得将"_"都替换成1,然后将这些数字当作2进制转换为asicii码,然后再base64解码,结果保存为文件,文件格式得为压缩包,.tar.gz,再最后解压这个压缩包,惊喜等着你,是苍老师的照片,你会从苍老师那儿得到key,恭喜通关!
第九关来点代码吧:
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import org.apache.commons.codec.binary.Base64;
public class GetAsicii {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(new File(
"/home/patrick/tmp/var")));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = br.readLine()) != null) {
String splits[] = line.split(" ");
for (String tmp : splits) {
char c[] = tmp.toCharArray();
char t = (char) getByte(c);
sb.append(t);
}
}
br.close();
Base64 decoder = new Base64();
byte[] data = decoder.decode(sb.toString());
FileOutputStream fos = new FileOutputStream(new File(
"/home/patrick/tmp/girl.tar.gz"));
BufferedOutputStream bos = new BufferedOutputStream(fos);
bos.write(data);
fos.close();
}
private static byte getByte(char[] c) {
byte b = 0;
int j = 0;
for (int i = 0; i < 8; i++) {
j = Integer.valueOf(c[i] + "");
b += (byte) (j << (7 - i));
}
return b;
}
}
base64的解压缩jar包很多种,随便挑一个就可以了。
再给张苍老师照片吧