腐蚀的画

1.一个漂亮的画作在经过几千年岁月的洗礼下,部分地方已经被腐蚀了,像一个孤独的老人,满脸爬满了皱纹.
2.但在一个晚上,老王突然发现,这些腐蚀的部分中,隐藏着岁月留下的密秘。请你帮助老王寻找这些秘密。

寻找过程

Step1: 拿到图像数据

请使用canvas操作将图片绘制到canvas上,canvas宽高要和图片一致(drawImage方法)

然后通过canvas API拿到图片的像素数据(getImageData)

图像的每个点由四个信息组成,分别是代表RGBA,比如rgba(24,23,122,11) 代表一个颜色点

成功帮老王拿到图像的数据了,这些大量的数据,一时让老王不知所措,面对如此大规模的数据,做为前端开发的老王从来没有遇到过,请继续帮助他找到这里隐藏的秘密吧

Step2: 像计算机一样阅读

在计算机的世界里,只有0和1。。。

对rgb的四个信息,想办法让它变成0和1,这样计算机就可以阅读了,注意:跳过A中的信息,即第四个通道Alpha中没有隐藏数据

现在,老王拿到了大量的0101数据,这些01010数据又分别代表什么呢?是不是计算机直接可以阅读呢,可是我看不到

Step3: 变成ASCII字符

将上面的01数据8位截取变成ASCII字符

变成了ASCII字符的数据让老王变得更加难堪,很多看不懂的字符

突然,老王发现这些数据中隐藏了AlloyImage几个字,难道这就是隐藏的秘密?

显然没有这么简单,老王在试了无数次之后,发现原来这是数据的结束符标记,AlloyImage前面的数据才是真正的数据

请截取AlloyImag前面的ASCII字符

老王拿到ASCII字符,实际上它们的二进制码就是计算机可以阅读的数据了,可是我们人类还是看不到,怎么办?

Step4: 转成base64数据

请将上面的数据转成base64字符

老王终于拿到了这些数据的base64字符,但要怎么把它们显示出来呢?

请继续帮助老王完成后面的操作。。。

终于,老王发现它是另外一张热辣的图片,上面还有一些红红的字,老王砰砰跳的心久久不能平静。。。

请输入上面图片中隐藏的红字  提交答案

TAT 前端突击队 第四关 题目 腐蚀的画的更多相关文章

  1. 腾讯CodeStar第二季前端突击队腐蚀的画解法步骤笔记

    所有题目地址:http://codestar.alloyteam.com/q2 本题内容:http://www.cnblogs.com/yedeying/p/3617593.html 腐蚀的画涉及到的 ...

  2. 淘宝ued - 前端智勇大闯关(第三季)答案(更新)

    淘宝ued - 前端智勇大闯关(第三季)答案(更新) 下午在微博上看到了淘宝智勇大闯关第三季的信息,感觉挺有意思的,于是就尝试做了下.附上题目地址: http://ued.campus.alibaba ...

  3. 前端学习 第四弹: HTML(一)

    前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...

  4. Python:黑板课爬虫闯关第四关

    第四关地址:http://www.heibanke.com/lesson/crawler_ex03/ 一开始看到的时候有点蒙,不知道啥意思,说密码需要找出来但也没说怎么找啊. 别急,随便输了个昵称和密 ...

  5. SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关

    0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...

  6. SQL注入之Sqli-labs系列第三十四关(基于宽字符逃逸POST注入)和三十五关

    开始挑战第三十四关和第三十五关(Bypass add addslashes) 0x1查看源码 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理. if(isset($_ ...

  7. SQL注入之Sqli-labs系列第二十四关(二阶注入)

    开始挑战第二十四关(Second Degree Injections) 0x1 前言 SQL注入一般分为两类:一阶SQL注入(普通SQL注入),二阶SQL注入 .二次注入不是注入两次的意思,请不要混淆 ...

  8. SQL注入之Sqli-labs系列第十四关(基于双引号POST报错注入)

    开始挑战第十四关(Double Injection- Double quotes- String) 访问地址,输入报错语句 '  ''  ')  ") - 等使其报错 分析报错信息 很明显是 ...

  9. Python Challenge 第四关

    进入了第四关.只有一张图,我还是像往常一样查看源代码.果然,发现了一行注释:urllib may help. DON'T TRY ALL NOTHINGS, since it will never e ...

随机推荐

  1. Orchard官方文档翻译(九) 新增并管理媒体资源

    原文地址:http://docs.orchardproject.net/Documentation/Adding-and-managing-media-content 想要查看文档目录请用力点击这里 ...

  2. Oozie 中各种类型的作业执行结果记录

    一,提交的作业被SUSPEND,然后再被KILL,记录如下: TYPE1: appType WORKFLOW_JOB id 0000002-160516095026479-oozie-oozi-W e ...

  3. 洛谷P1828 香甜的黄油 Sweet Butter

    P1828 香甜的黄油 Sweet Butter 241通过 724提交 题目提供者JOHNKRAM 标签USACO 难度普及+/提高 提交  讨论  题解 最新讨论 我的SPFA为什么TLE.. 为 ...

  4. 华为OJ平台——矩阵乘法

    题目描述: 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C. 输入: 1.第一个矩阵的行数 2.第一个矩阵的列数(也是第二个矩阵的行数) 3.第二个矩阵 ...

  5. 多文件目录下makefile文件递归执行编译所有c文件

    首先说说本次嵌套执行makefile文件的目的:只需make根目录下的makefile文件,即可编译所有c文件,包括子目录下的. 意义:自动化编译行为,以后编译自己的c文件时可把这些makefile文 ...

  6. 避免使用CreateThread函数,导致的内存泄露

    原文链接:http://blog.csdn.net/solosure/article/details/6262877

  7. 关于web前端开发

    刚接触前端,有很多不了解,一个table都搞了很久. 记录一些简单内容为日后查看. div是创建了一块块区域,而css则负责具体的展示用的包括位置的调整,块的展示.其实一个html页面中,一个tabl ...

  8. Boost C++: 数据结构---tuple

    #include <boost/tuple/tuple.hpp> #include <boost/tuple/tuple_io.hpp> #include <boost/ ...

  9. Oracle定时器执行多线程

    what里面加下面代码强制执行多线程   begin  execute immediate 'alter session force parallel dml parallel 16';  pkg_s ...

  10. Xshell常用命令备忘

    (1)命令ls——列出文件ls 显示当前目录文件ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的隐藏”文件ls a* 列出当前目录下以字母a开头的所有文件ls -l *.doc 给出 ...