TAT 前端突击队 第四关 题目 腐蚀的画
腐蚀的画
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 前端突击队 第四关 题目 腐蚀的画的更多相关文章
- 腾讯CodeStar第二季前端突击队腐蚀的画解法步骤笔记
所有题目地址:http://codestar.alloyteam.com/q2 本题内容:http://www.cnblogs.com/yedeying/p/3617593.html 腐蚀的画涉及到的 ...
- 淘宝ued - 前端智勇大闯关(第三季)答案(更新)
淘宝ued - 前端智勇大闯关(第三季)答案(更新) 下午在微博上看到了淘宝智勇大闯关第三季的信息,感觉挺有意思的,于是就尝试做了下.附上题目地址: http://ued.campus.alibaba ...
- 前端学习 第四弹: HTML(一)
前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...
- Python:黑板课爬虫闯关第四关
第四关地址:http://www.heibanke.com/lesson/crawler_ex03/ 一开始看到的时候有点蒙,不知道啥意思,说密码需要找出来但也没说怎么找啊. 别急,随便输了个昵称和密 ...
- SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关
0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...
- SQL注入之Sqli-labs系列第三十四关(基于宽字符逃逸POST注入)和三十五关
开始挑战第三十四关和第三十五关(Bypass add addslashes) 0x1查看源码 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理. if(isset($_ ...
- SQL注入之Sqli-labs系列第二十四关(二阶注入)
开始挑战第二十四关(Second Degree Injections) 0x1 前言 SQL注入一般分为两类:一阶SQL注入(普通SQL注入),二阶SQL注入 .二次注入不是注入两次的意思,请不要混淆 ...
- SQL注入之Sqli-labs系列第十四关(基于双引号POST报错注入)
开始挑战第十四关(Double Injection- Double quotes- String) 访问地址,输入报错语句 ' '' ') ") - 等使其报错 分析报错信息 很明显是 ...
- Python Challenge 第四关
进入了第四关.只有一张图,我还是像往常一样查看源代码.果然,发现了一行注释:urllib may help. DON'T TRY ALL NOTHINGS, since it will never e ...
随机推荐
- Leveldb 实现原理
原文地址:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html LevelDb日知录之一:LevelDb 101 说起LevelD ...
- 移动端拖拽(模块化开发,触摸事件,webpack)
通过jquery可以很容易实现CP端的拖拽.但是在移动端却不好用了.于是我自己写了一个在移动端的拖拽demo,主要用到的事件是触摸事件(touchstart,touchmove和touchend). ...
- JS判断手机浏览器
<script type="text/javascript"> /* * 智能机浏览器版本信息: * */ varbrowser={ versions:function ...
- 同步灵无线锂电鼠G11-580HX独特“五灵键”
http://tieba.baidu.com/p/2130455709 现在鼠标功能越来越强大,游戏鼠标的宏设置,办公鼠标的复制粘贴等.各位有没有给鼠标设置一些好玩.方便.搞怪.有意思的的功能的呢?笔 ...
- gerrit 调试smtp email
- Could not resolve this reference. Could not locate the assembly
Rebuild Project 的时候提示找不到NewtonJson 组件,重新添加了Dll(Newtonsoft.Json.dll),依然抛错. 解决办法,将Dll(Newtonsoft.Json. ...
- gulp&gulp-less
使用gulp-less插件将less文件编译成css,当有less文件发生改变自动编译less,并保证less语法错误或出现异常时能正常工作并提示错误信息. 1.本地安装gulp-less githu ...
- oracle split
select * from table(fun_strsplit('1,2,3,4,5')); 1.创建一个类型 ) 2.创建函数 CREATE OR REPLACE FUNCTION Fun_Str ...
- Unieap3.5-前台js判断表单必录
//用户信息字段检查 var custFrm=unieap.byId('custFrm'); var isValid=custFrm.validate(true); if(!isValid){ ret ...
- Android WebRTC 音视频开发总结(三)-- 信令服务和媒体服务
前面介绍了WebRTCDemo的基本结构,本节主要介绍WebRTC音视频服务端的处理,,转载请说明出处(博客园RTC.Blacker). 通过前面的例子我们知道运行WebRTCDemo即可看到P2P的 ...