AS3独当一面:AIR演绎《Visualizing Data》[Preface]

本文探讨了数据可视化的意义及其实现方式,作者选择使用ActionScript 3.0替代Processing来实现《VisualizingData》一书中的案例,旨在提供一种更易上手且功能强大的编程环境。

相关链接:

MSN SkyDriver Books 《Visualizing Data》
GettingStarted:AS3独当一面:AIR演绎《Visualizing Data》


在这个到处都是信息的时代,我们无论主动被动都会时不时接收到若干的数据集合,如何理解这些数据往往依赖于接收者的知识技能背景,但是这个不是非 常 重要,因为好奇心总是会驱使着人们去尝试些有挑战性的工作。于是“数据可视化”正逐渐成了越来越多的人理解、交流获取到的数据集的一个必不可少的过程。

 

正是基于以上原因,我开始看《Visualizing Data》 这本书,尽管我的候选方向不包括“计算信息设计(Computational Information Design)”。如你所见,我的知识背景是程序设计,跟艺术没有关系,这便是我想澄清的一点,关于“数据可视化思维”。由于“数据可视化”多少涉及到一 些图形图像方面的知识,于是有人认为这应该由艺术系的人去搞,至少搞这个需要艺术细胞,他们可能还会再给出一些诸如“没有艺术细胞,即使会操作 PhotoShop也很难作出优秀的图”之类的理由。但我想说得是,这个完全是两个抽象层次的概念,互相促进又互相正交:“数据可视化”的核心是how“ 可视化”,而所谓需要艺术细胞的那些活则是“可视化”what,所以“数据可视化”一样需要计算机方面的知识,甚至可能还需要计算机图形学乃至数学知识, 是不还需要“计算机逻辑细胞”?!

 

罗嗦了一大堆,该回到主题上了。之所以会出现此文,是因为我感觉《Visualizing Data》还是有些让人不尽人意的地方。比如,作者使用的教学语言是他自己发明的processing , 这一简单的编程环境和API,之所以不选通用语言如python,java等,我猜原因就是上面分析中涉及的,读者的知识背景比较多样,不一定都具有编程 基础。但是,不得不说……基于java的本地gui程序在我的linux系统上一直表现极差,比如本书相当于的“hello world”例子就总是让我死机,因此对java产生偏见了(要知道java也是我曾经最喜欢的语言之一),所以……我删了processing。转而选 了flash/air/actionscript3.0,这个号称在图形前端表现开发上处于领先地位的编程语言(当然这个是我的老本行,尽管以前很少使用 图形api);另一方面,虽然本书对如何获取、理解数据都介绍的比较详尽,但是在how编程这点上让我云里雾里的,这个大概是因为processing本 身是带了源码的,看源码就能一目了然的缘故吧,总之没有考察这点。而且语言之间多少有点差异,况且flash的普及度更高一点,一方面自己按照要求全部实 现本身就是一个很好的学习过程,一方面刚好可以和大家分享。

 

所以本系列文章就按章节分享书中实例的AIR1.5/ActionScript3.0实现。当然,我并不想原封不动的翻译processing代 码,而且与“可视化”这个目的没有直接关系的部分也不予细究,比如如何生成随机数等。这里跟大家说声抱歉,毕竟这个学习过程在我的方向上只是一个支线。在 具体的文章里,与书中代码差异交大的部分我会特别说明的,而且我的as3代码可能没有注释,因为代码本身就很容易理解(不考虑我们所喜欢的代码风格差 异)。


下篇:AS3独当一面:AIR演绎《Visualizing Data》[GettingStarted]

内容概要:本文详细记录了对一个Android ARM64静态ELF文件中字符串加密机制的逆向分析过程。该ELF文件的所有字符串均被加密,无法通过常规strings命令或IDA直接识别。作者通过分析发现,加密字符串存储在.rodata段,其解密所需信息(包括密文地址、长度和16位密钥)保存在.data.rel.ro段的40字节描述符中。核心解密函数sub_10F408采用自反的双pass流密码算法,结合固定密钥KEY_TERM(由.data段24字节数据计算得出),实现字节级非线性、位置与长度相关的加密。文章还复现了完整的Python解密脚本,并揭示了该保护机制的本质为代码混淆而非强加密,最终成功批量解密全部956条字符串,暴露程序真实行为,如shell命令模板、设备标识篡改、网络重置等操作。此外,文中还提及未启用的自定义壳框架及其反dump设计。; 适合人群:具备逆向工程基础的安全研究人员、二进制分析人员及对ELF保护技术感兴趣的开发者。; 使用场景及目标:①学习ELF二进制中字符串加密的典型实现方式与逆向突破口;②掌握从结构识别、函数追踪到算法还原的完整逆向流程;③理解“绑定二进制”的完整性校验设计及其局限性;④实践编写IDAPython脚本自动化提取与解密敏感数据。; 阅读建议:此资源以实战案例驱动,不仅展示技术细节,更强调逆向思维与验证方法,建议读者结合IDA调试环境,逐步跟随文中步骤进行动态分析与算法验证,深入理解每一步的推理依据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值